婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > C#中使用SQLite數據庫的方法介紹

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

熱門標簽:陜西人工外呼系統哪家好 山西防封卡電銷卡套餐 云南外呼電銷機器人系統 浙江外呼系統怎么安裝 廈門商鋪地圖標注 海外地圖標注門市標 上海楊浦怎么申請申請400電話 地圖標注多個行程 銅川小型外呼系統運營商
【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 腳本之家下載地址 https://www.jb51.net/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毫秒,一分鐘多!
改用事務執行:
復制代碼 代碼如下:

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/>");
SQLiteTransaction tran = cn.BeginTransaction();
cmd.Transaction = tran;
try
{
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();
}
tran.Commit();
}
catch
{
tran.Rollback();
Response.Write("執行出錯!");
}
finally
{
cmd.CommandText = "select count(*) from test";
recordCount = (int)(Int64)cmd.ExecuteScalar();
cn.Close();
Response.Write("當前的總記錄數:" + recordCount + "br/>");
}

經過測試,這段代碼中的try部分只用了100~150毫秒!開啟事務后,效率非常高!
『例3』一般開發中可以編寫自己的數據庫通用操作類,進一步封裝ADO.NET。
如上面用事務操作的代碼,改用數據庫通用操作類后:
復制代碼 代碼如下:

SQLiteData md = new SQLiteData("Data Source=c:\\測試.db3;Version=3;password=12345");
int recordCount = (int)(Int64)md.ExecuteScalar("select count(*) from test");
Response.Write("當前的總記錄數:" + recordCount + "br/>");
md.CreateTransaction();
try
{
for (int i = 0; i 1000; i++)
md.ExecuteNonQuery("insert into test values(@id,@name,@password)", "@id", i, "@name", "姓名" + i, "@password", (i * 2).ToString());
md.CommitTransaction();
}
catch
{
md.RollBack();
Response.Write("執行出錯!");
}
finally
{
recordCount = (int)(Int64)md.ExecuteScalar("select count(*) from test");
md.Close();
Response.Write("當前的總記錄數:" + recordCount + "br/>");
}

可以看到代碼精簡了很多。

【SQLite相關有用的鏈接地址】

SQLite官方網站:http://www.sqlite.org/

SQLite內置核心函數參考文檔:http://www.sqlite.org/lang_corefunc.html

SQLite日期時間函數參考文檔:http://www.sqlite.org/lang_datefunc.html

SQLite數學函數參考文檔:http://www.sqlite.org/lang_aggfunc.html

SQLite相關SQL語法參考文檔:http://www.sqlite.org/lang.html

System.Data.SQLite.dll數據訪問驅動下載地址:http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki

您可能感興趣的文章:
  • C#操作SQLite數據庫方法小結(創建,連接,插入,查詢,刪除等)
  • ASP.NET(C#)中操作SQLite數據庫實例
  • c#幾種數據庫的大數據批量插入(SqlServer、Oracle、SQLite和MySql)
  • C#簡單訪問SQLite數據庫的方法(安裝,連接,查詢等)
  • C#基于SQLiteHelper類似SqlHelper類實現存取Sqlite數據庫的方法
  • C#操作SQLite數據庫之讀寫數據庫的方法
  • C#/.Net 中快速批量給SQLite數據庫插入測試數據
  • C#中嵌入SQLite數據庫的簡單方法
  • C#簡單查詢SQLite數據庫是否存在數據的方法
  • C# SQLite數據庫入門使用說明

標簽:信陽 自貢 許昌 西雙版納 孝感 朔州 萊蕪 常州

巨人網絡通訊聲明:本文標題《C#中使用SQLite數據庫的方法介紹》,本文關鍵詞  中,使用,SQLite,數據庫,的,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《C#中使用SQLite數據庫的方法介紹》相關的同類信息!
  • 本頁收集關于C#中使用SQLite數據庫的方法介紹的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    在线看日本不卡| 国产精品综合av一区二区国产馆| 久久亚洲精精品中文字幕早川悠里| 欧美日韩一区在线观看| 在线视频国内一区二区| 91最新地址在线播放| 91高清视频免费看| 欧美三级乱人伦电影| 欧美日韩激情在线| 在线成人免费观看| 精品成人一区二区| 国产精品你懂的| 亚洲一区欧美一区| 日韩经典中文字幕一区| 精品一区二区免费在线观看| 国产精品一区三区| 色欧美88888久久久久久影院| 日本韩国一区二区| 欧美日韩国产美| 久久久影院官网| 亚洲精品久久嫩草网站秘色| 亚洲一区在线免费观看| 狠狠色综合日日| 99精品欧美一区二区三区小说| 欧美三级资源在线| 久久亚洲精华国产精华液| 亚洲欧美色图小说| 奇米色一区二区| 成人激情电影免费在线观看| 欧美丝袜丝交足nylons| 久久综合999| 一区二区三区日韩在线观看| 男女激情视频一区| 成人永久免费视频| 91麻豆精品国产自产在线 | 亚洲欧美日韩国产中文在线| 亚州成人在线电影| 高清国产一区二区| 欧美日韩精品一区二区三区| 国产欧美久久久精品影院| 亚洲18色成人| 色婷婷综合久久久| 久久影院午夜论| 日韩电影在线免费观看| 成人午夜激情片| 亚洲精品在线免费观看视频| 亚洲国产裸拍裸体视频在线观看乱了| 国内精品视频一区二区三区八戒| 欧美在线观看一二区| 国产欧美一区二区精品性色| 久久福利资源站| 在线成人免费观看| 亚洲成a人片在线不卡一二三区| av电影在线观看一区| 欧美xxxxxxxx| 久久精品免费看| 欧美精品久久天天躁| 亚洲美女屁股眼交| 成人精品视频一区二区三区| 久久婷婷成人综合色| 久久99精品国产麻豆不卡| 欧美日本国产视频| 天堂在线一区二区| 欧美放荡的少妇| 天天操天天色综合| 欧美日韩国产中文| 天天综合网 天天综合色| 欧美性色黄大片手机版| 一区二区三区精密机械公司| 91污在线观看| 亚洲视频电影在线| 91同城在线观看| 一级做a爱片久久| 色就色 综合激情| 亚洲成人免费在线观看| 91麻豆精品久久久久蜜臀| 日本一不卡视频| 日韩亚洲国产中文字幕欧美| 免费人成在线不卡| 久久日一线二线三线suv| 精品亚洲成av人在线观看| 精品国产人成亚洲区| 国产精品自拍av| 亚洲欧洲精品成人久久奇米网| 99在线精品免费| 一二三四区精品视频| 欧美日韩黄视频| 国产在线麻豆精品观看| 中文字幕第一区综合| 在线一区二区观看| 视频一区欧美精品| 国产人伦精品一区二区| 91丨porny丨蝌蚪视频| 午夜欧美一区二区三区在线播放| 欧美电影在线免费观看| 国产成人精品免费一区二区| 亚洲同性gay激情无套| 欧美日韩免费一区二区三区视频| 免费在线观看视频一区| 国产精品视频免费| 欧美日韩中文另类| 国产成a人亚洲精| 亚洲午夜av在线| 久久久三级国产网站| www.成人在线| 久久狠狠亚洲综合| 中文字幕视频一区| 日韩欧美电影在线| 91在线免费播放| 韩国女主播成人在线| 亚洲美女免费视频| 精品福利av导航| 色88888久久久久久影院野外| 日本欧美一区二区| 中文字幕一区二区5566日韩| 日韩色视频在线观看| 色欧美88888久久久久久影院| 精品一区二区免费在线观看| 亚洲国产中文字幕| 自拍视频在线观看一区二区| 精品伦理精品一区| 欧美图片一区二区三区| 成人永久aaa| 国产精品一区二区果冻传媒| 午夜国产不卡在线观看视频| 国产精品久久久一区麻豆最新章节| 91精品国产色综合久久ai换脸 | 麻豆91在线播放| 亚洲精选一二三| 国产精品国产三级国产a| 久久亚洲欧美国产精品乐播| 91精品国产综合久久久蜜臀粉嫩| 欧美亚洲愉拍一区二区| av网站免费线看精品| 国产91精品免费| 国产精品123区| 国产高清成人在线| 国产剧情一区在线| 韩国一区二区三区| 激情深爱一区二区| 国产在线精品不卡| 狠狠色丁香久久婷婷综合丁香| 日韩国产欧美在线播放| 亚洲高清视频的网址| 亚洲.国产.中文慕字在线| 亚洲国产精品一区二区www在线| 一区二区三区四区乱视频| 亚洲欧美在线aaa| 亚洲人被黑人高潮完整版| 亚洲免费av观看| 亚洲成人在线免费| 日本不卡一区二区| 激情文学综合网| 成人动漫一区二区| 91网站黄www| 欧美日韩国产一二三| 日韩一区二区影院| 久久人人爽人人爽| 国产精品色哟哟| 亚洲人被黑人高潮完整版| 亚洲一二三级电影| 青青草国产精品亚洲专区无| 久久99国产精品久久99| 国产一区二区在线电影| 99re成人精品视频| 91精品国产综合久久福利| 欧美一区二区三区四区视频| 日韩视频免费直播| 国产欧美一区二区在线| 亚洲制服丝袜一区| 激情久久五月天| 91视频你懂的| 制服丝袜亚洲网站| 26uuu精品一区二区| 亚洲欧美日本在线| 精品系列免费在线观看| 色综合久久久网| 日韩欧美一级精品久久| 国产日韩欧美a| 天天操天天色综合| 成人福利视频在线| 欧美成人官网二区| 日韩伦理av电影| 国产一区二区三区不卡在线观看| av日韩在线网站| 精品国产精品一区二区夜夜嗨| 亚洲欧洲精品一区二区三区不卡| 日韩精品视频网| 9人人澡人人爽人人精品| 日韩一区二区视频| 亚洲高清一区二区三区| 成人黄色777网| 欧美成人国产一区二区| 亚洲一区精品在线| 91亚洲精品久久久蜜桃| 欧美精品一区二区三区蜜桃视频| 亚洲精品成人精品456| 国产大片一区二区| 欧美一级在线观看| 首页亚洲欧美制服丝腿|