三网合一网站建设费用,国家建设部投诉网站,户外产品销售公司网站建设,网站建设多少钱一个平台sqlite官方的数据库加密是收费的#xff0c;而且比较贵。 幸亏微软提供了一种免费的方法。
1 sqlite加密demo
这里我做了一个小的demo演示如下#xff1a;
在界面中拖入数据库名、密码、以及保存的路径 比如我选择保存路径桌面的sqlite目录#xff0c;数据库名guigutool…sqlite官方的数据库加密是收费的而且比较贵。 幸亏微软提供了一种免费的方法。
1 sqlite加密demo
这里我做了一个小的demo演示如下
在界面中拖入数据库名、密码、以及保存的路径 比如我选择保存路径桌面的sqlite目录数据库名guigutool.db密码1234 点创建数据库。 我们在桌面文件夹sqlite看到guigutool.db 然后向其中插入
2.开发过程
2.1 通过Nuget安装依赖包
Microsoft.Data.Sqlite.Core
SQLitePCLRaw.bundle_e_sqlcipher
Dapper2.2 新建项目Sqlite工具箱
在Form中拖入控件这里就省略了。
2.3 建立连接过程 static SqliteConnection conn null;private void getConn(){string dbpath txt_path.Text;string dbname txt_dbname.Text;string pwd txt_pwd.Text;string dbpathConn Path.Combine(Data Source dbpath, dbname);string connString new SqliteConnectionStringBuilder(dbpathConn){Mode SqliteOpenMode.ReadWriteCreate,Password pwd}.ToString();if (conn ! null){conn.Dispose();}conn new SqliteConnection(connString);}2.4 创建数据库
创建数据库时会自动创建一个测试表User private void btn_createdb_Click(object sender, EventArgs e){if (String.IsNullOrEmpty(txt_dbname.Text) || String.IsNullOrEmpty(txt_pwd.Text)){MessageBox.Show(请输入数据库名和密码);return;}string dbFullPath Path.Combine(txt_path.Text, txt_dbname.Text);ShowInfo(txtInfo, dbFullPath);if (File.Exists(dbFullPath)){MessageBox.Show(该数据库已存在不能创建);return;}getConn();if (conn.State System.Data.ConnectionState.Closed){conn.Open();var createTable CREATE table if not exists User (Id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,name TEXT,age INTEGER);;var result conn.Execute(createTable);conn.Close();ShowInfo(txtInfo, 数据库: this.txt_path.Text txt_dbname.Text 已创建成功并插入了测试表User);}}2.5 插入记录 private void btn_insert_Click(object sender, EventArgs e){getConn();if (conn.State System.Data.ConnectionState.Closed){conn.Open();var name GenerateSurname();var age GenerateAge();var insertSql $INSERT INTO main.User(name,age) VALUES ({name}, {age});;int result conn.Execute(insertSql);conn.Close();ShowInfo(txtInfo, $插入记录成功 Name:{name} Age:{age} );}}2.6 从数据库中查询记录 private void btn_query_Click(object sender, EventArgs e){getConn();if (conn.State System.Data.ConnectionState.Closed){conn.Open();var name GenerateSurname();var age GenerateAge();var selectSql select id,name,age from main.User;;var users conn.QueryUser(selectSql).ToList();ShowInfo(txtInfo, $ 查询db[{txt_dbname.Text}]到以下记录);foreach (var user in users){ShowInfo(txtInfo, $Id:{user.Id} Name:{user.Name} Age:{user.Age} );}ShowInfo(txtInfo, $ 共{users.Count} 条 );conn.Close();}}以上就是主要的代码。 项目的完整代码可以在以下资源中下载。 https://download.csdn.net/download/wang6733284/87503163