国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#中使用SQLite數據庫的方法介紹

2024-09-07 17:05:24
字體:
來源:轉載
供稿:網友
【SQLite管理工具簡介】
推薦以下2款:
Navicat for SQLite:功能非常強大,幾乎包含了數據庫管理工具的所有必需功能,操作簡單,容易上手。唯一的缺點是不能打開由System.Data.SQLite.dll加密過的數據庫。
Database.Net:臺灣人用.net開發的全能數據庫管理工具,可以管理多種數據庫,包括MSSQL、MYSQL、IBM DB2、Oracle、Access、Excel、OleDb、Odbc等十多種數據庫(或數據接口),功能沒有Navicat那么多,只包含最基本功能。對SQLite而言,Database.Net最大的優點是支持打開由System.Data.SQLite.dll加密過的數據庫,且可以隨時對數據庫設置密碼,是.net下開發SQLite必備的小工具。下載地址:http://fishcodelib.com/Database.htm 錯新站長站下載地址 //m.survivalescaperooms.com/database/41238.html
建議以Navicat for SQLite為主,Database.Net為輔,只要涉及到數據庫加密時才用后者。
【操作SQLite實例】
操作SQlite的方法基本同其他數據庫相同,但有一些區別:
『例1』整數似乎都是Int64的。
查詢出網站App_Data目錄下“省市.db”數據庫中city表的總記錄數
代碼如下:
SQLiteConnection cn = new SQLiteConnection("Data Source=|DataDirectory|省市.db;Version=3");
SQLiteCommand cmd = new SQLiteCommand("select count(*) from city", cn);
cn.Open();
int recordCount = (int)(Int64)cmd.ExecuteScalar();
cn.Close();
Response.Write(recordCount);

SQLite中count函數返回的是一個Int64的整數,這一點同MSSQL、Access等不同。實際上,經過有限的使用發現,似乎所有INTEGER字段的返回值都是Int64,這一點未經過有效證實。ExecuteScalar方法返回一個object實例,按照C#規定,拆箱時進行標準轉換,必須轉換成該object實例實際存儲的格式,因此分兩步,先轉換成Int64,再轉換成int。當然用.net中某些高級轉換器如Convert.ToInt32方法只要一步就可以了。
『例2』批量增刪改時需要用事務,否則效率很低。
批量插入1000條記錄,每條記錄只有簡單的id、name、password三個字段:
代碼如下:
SQLiteConnection cn = new SQLiteConnection("Data Source=c://測試.db3;Version=3;password=12345");
SQLiteCommand cmd = new SQLiteCommand("select count(*) from test", cn);
cn.Open();
int recordCount = (int)(Int64)cmd.ExecuteScalar();
Response.Write("當前的總記錄數:" + recordCount + "<br/>");
for (int i = 0; i < 1000; i++)
{
cmd.CommandText = "insert into test values(@id,@name,@password)";
cmd.Parameters.AddWithValue("@id", i);
cmd.Parameters.AddWithValue("@name", "姓名" + i);
cmd.Parameters.AddWithValue("@password", (i * 2).ToString());
cmd.ExecuteNonQuery();
}
cmd.CommandText = "select count(*) from test";
recordCount = (int)(Int64)cmd.ExecuteScalar();
cn.Close();
Response.Write("當前的總記錄數:" + recordCount + "<br/>");

經過測試,這段代碼中的for循環花費了70000~90000毫秒,一分鐘多!
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 黑龙江省| 都安| 堆龙德庆县| 淮南市| 瑞安市| 阳信县| 崇仁县| 东港市| 思茅市| 永安市| 卫辉市| 天水市| 慈利县| 冕宁县| 晴隆县| 吉木萨尔县| 周宁县| 施甸县| 巨鹿县| 进贤县| 彰化县| 旅游| 凌云县| 上林县| 泸州市| 禄丰县| 怀柔区| 红河县| 衡南县| 三门县| 天气| 武威市| 张家界市| 尼玛县| 呼玛县| 定陶县| 巨野县| 兴化市| 渭南市| 莲花县| 江都市|