添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
想出家的回锅肉  ·  Python Psycopg - ...·  1 周前    · 
冷静的米饭  ·  获取元素和事件相关·  3 月前    · 
坏坏的西红柿  ·  Solved: SELECT INTO ...·  6 月前    · 
慷慨的烤面包  ·  GitHub - ...·  6 月前    · 
Data Source = filename ; Version = 3 ; Password = myPassword ; (使⽤前数据库格式) Using the pre 3.3 x database format3 . 3 x Data Source = filename ; Version = 3 ; Legacy Format = True ; (只读连接) Data Source = filename ; Version = 3 ; Read Only = True ; (设置连接池) Data Source = filename ; Version = 3 ; Pooling = False ; Max Pool Size = 100 ; 使用 DateTime 。刻度作为日期时间格式 Data Source = filename ; Version = 3 ; DateTimeFormat = Ticks ; (把作为⽂本存储,默认是) Data Source = filename ; Version = 3 ; BinaryGUID = False ; 如果把Guid作为⽂本存储需要更多的存储空间(指定⼤⼩) Data Source = filename ; Version = 3 ; Cache Size = 2000 ; Cache Size 单位是字节(指定页⼤⼩) Data Source = filename ; Version = 3 ; Page Size = 1024 ; 指定连接Sqlite数据库的缓存⼤⼩: Data Source = mydb . db ; Version = 3 ; Cache Size = 3000 ;

SQLite的连接字符串

--Basic(基本的)
     Data Source=filename;Version=3;
--Using UTF16(使用UTF16编码)
    Data Source=filename;Version=3;UseUTF16Encoding=True;
--With password(带密码的)
    Data Source=filename;Version=3;Password=myPassword;
--Using the pre 3.3x database format(使用3.3x前数据库格式)
     Data Source=filename;Version=3;Legacy Format=True;
--Read only connection(只读连接)
    Data Source=filename;Version=3;Read Only=True;
--With connection pooling(设置连接池)
    Data Source=filename;Version=3;Pooling=False;Max Pool Size=100;
--Using DateTime.Ticks as datetime format()
     Data Source=filename;Version=3;DateTimeFormat=Ticks;
--Store GUID as text(把Guid作为文本存储,默认是Binary)
    Data Source=filename;Version=3;BinaryGUID=False;
--   如果把Guid作为文本存储需要更多的存储空间
--Specify cache size(指定Cache大小)
     Data Source=filename;Version=3;Cache Size=2000;
--   Cache Size 单位是字节
--Specify page size(指定页大小)
     Data Source=filename;Version=3;Page Size=1024;
--   Page Size 单位是字节

加载加密sqlite到内存

为了使C#更好的适配Linux,不得不将依赖从 System.Data.SQLite 转到 Microsoft.Data.Sqlite 并要求Linux程序支持加密数据库文件,但使 Microsoft.Data.Sqlite 默认不支持加密数据库文件,但是可以使用 SQLCipher, SEE 或者SQLiteCrypt 去支持加密数据库文件。

如果不是加密的数据库文件,通过下面操作将物理数据库,备份到已经创建的可分享内存数据库

var connectionString = new SqliteConnectionStringBuilder("Data Source=sampleDatabase.db")
    Mode = SqliteOpenMode.ReadWriteCreate
}.ToString();
var connection = new SqliteConnection(connectionString);
connection.Open();
var inMemConnectionString = new SqliteConnectionStringBuilder("Data Source=InMemorySample;Mode=Memory;Cache=Shared")
    Mode = SqliteOpenMode.ReadWriteCreate
}.ToString();
var inMemConnection = new SqliteConnection( inMemConnectionString );
inMemConnection.Open();
connection.BackupDatabase(inMemConnection, connection.Database, connection.Database);

如上操作,将加密数据库加载到内存会抛异常 SqliteException ,提示信息:

backup is not supported with encrypted databases.

将带有空密码的可分享内存数据库,加载到加密的数据库,然后使用sqlcipher_export,将数据解密保存到内存数据库中,最后将加密数据库卸载, 你就可以愉快的使用内存数据库了, 但是内存数据库是不支持加密的。

var connectionString = new SqliteConnectionStringBuilder("Data Source=encrypted.db")
    Mode = SqliteOpenMode.ReadWriteCreate,
    Password = "somePassword"
}.ToString();
var connection = new SqliteConnection(connectionString);
connection.Open();
var query = "ATTACH DATABASE 'file:InMemorySample?mode=memory&cache=shared' AS inMemDb KEY ''; SELECT sqlcipher_export('inMemDb'); DETACH DATABASE inMemDb;";
using var cmd = new SqliteCommand(query, connection);
var res = cmd.ExecuteNonQuery();
connection.Close();
var inMemConnectionString = new SqliteConnectionStringBuilder("Data Source=InMemorySample;Mode=Memory;Cache=Shared")
    Mode = SqliteOpenMode.ReadWriteCreate
}.ToString();
var inMemConnection = new SqliteConnection( inMemConnectionString );
inMemConnection.Open();
                    将数据解密保存到内存数据库中,最后将加密数据库卸载,你就可以愉快的使用内存数据库了,但是内存数据库是不支持加密的。如果不是加密的数据库文件,通过下面操作将物理数据库,备份到已经创建的可分享内存数据库。将带有空密码的可分享内存数据库,加载到加密的数据库,然后使用。为了使C#更好的适配Linux,不得不将依赖从。并要求Linux程序支持加密数据库文件,但使。默认不支持加密数据库文件,但是可以使用。如上操作,将加密数据库加载到内存会抛异常。去支持加密数据库文件。...
Data Source=filename;Version=3;
2、Using UTF16(使用UTF16编码)
Data Source=filename;Version=3;UseUTF16Encoding=True;
3、With password(带密码的)
Data Source=filenam...
一.MySQL字符串拼接
1.使用加号”+”实现
在Java、C#等编程语言中字符串的拼接可以通过加号“+”来实现,在MySQL中也可以使用加号”+”来连接两个字符串。
SELECT '123'+'123' AS result1;
SELECT '123'+'abc' as r...
				
这段时间做了一个sqllite数据库的小软件  顺便也了解了一下 sqllite 数据库 不熟悉使用的童鞋  可以参考一下 首先 我们需要引用一个类库 System.Data.Sqllite.dll 下载地址-- http://download.csdn.net/detail/liyanping521/5276707 数据库下载地址-- http://download.csdn.net
在这个例子中,我们使用了 "Data Source" 关键字来指定数据库文件的路径和名称。你可以根据自己的需要更改连接字符串的内容。如果你的数据库文件不在程序运行目录下,你需要使用完整的文件路径。 请注意,在使用 Sqlite 数据库时,你需要安装并引用 `System.Data.SQLite` 包。