久久亚洲精品成人_国产精品欧美综合亚洲_亚洲va天堂va欧美ⅴa在线_91色视频在线观看_久久影院亚洲_一级黄色片播放_日韩av在线一区_精品一区二区在线看_老头吃奶性行交视频_日韩免费高清视频_天天操天天爽天天干_日本欧美在线视频

首頁 > 數據庫 > SQLite > 正文

Sqlite 操作類代碼

2020-01-25 19:30:26
字體:
來源:轉載
供稿:網友
這兩天用了用SQLite,感覺比SQL CE好用多了,最主要的是性能好多了.這一點對手持設備來講很重要.閑話少說,下來將怎么在WM用.NET CF訪問SQLite.
 
 
1. ADO.NET Provider For SQLite. 
  ADO.NET 提供程序是香港(貌似)一個公司提供的.項目地址見:http://sourceforge.net/projects/sqlite-dotnet2 
  2. 對SQLite.NET的封裝,提供一個簡單的操作幫助類. 
SQLiteHelper 
復制代碼代碼如下:

/**//** 
* SQLite操作的幫助類. 

* Author: egmkang.wang 
* Date: 2009-06-21 
*/ 
namespace System.Data.SQLite 

using System.Data; 
using System.Data.SQLite; 
using System.IO; 
public class SqliteHelper 

private static string pwd = "PWD"; 
private static string path = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase) + "//sqliteTest.db"; 
private static string connString = string.Format("Data Source =/"{0}/"", path, pwd); 
/**//// <summary> 
/// 返回數據庫鏈接字符串 
/// </summary> 
public static string ConnString 

get { return connString; } 

/**//// <summary> 
/// 執行SQL語句,返回受影響的行數 
/// </summary> 
/// <param name="cmdText">需要被執行的SQL語句</param> 
/// <returns>受影響的行數</returns> 
public static int ExecuteNonQuery(string cmdText) 

return ExecuteNonQuery(ConnString, cmdText); 

/**//// <summary> 
/// 執行帶有事務的SQL語句 
/// </summary> 
/// <param name="trans">事務</param> 
/// <param name="cmdText">SQL語句</param> 
/// <returns>受影響的行數</returns> 
public static int ExecuteNonQuery(SQLiteTransaction trans, string cmdText, params SQLiteParameter[] parameters) 

int val = 0; 
using (SQLiteCommand cmd = new SQLiteCommand()) 

PrepareCommand(cmd, (SQLiteConnection)trans.Connection, trans, cmdText, parameters); 
val = cmd.ExecuteNonQuery(); 
cmd.Parameters.Clear(); 

return val; 

/**//// <summary> 
/// 執行SQL語句,返回受影響的行數 
/// </summary> 
/// <param name="connString">連接字符串</param> 
/// <param name="cmdText">SQL語句</param> 
/// <param name="parameters">SQL的參數</param> 
/// <returns>受影響的行數</returns> 
public static int ExecuteNonQuery(string connString, string cmdText, params SQLiteParameter[] parameters) 

using (SQLiteConnection conn = new SQLiteConnection(connString)) 

return ExecuteNonQuery(conn, cmdText, parameters); 


/**//// <summary> 
/// 執行SQL語句,返回受影響的行數 
/// </summary> 
/// <param name="connection">數據庫鏈接</param> 
/// <param name="cmdText">SQL語句</param> 
/// <param name="parameters">參數</param> 
/// <returns>受影響的行數</returns> 
public static int ExecuteNonQuery(SQLiteConnection connection, string cmdText, params SQLiteParameter[] parameters) 

int val = 0; 
using (SQLiteCommand cmd = new SQLiteCommand()) 

PrepareCommand(cmd, connection, null, cmdText, parameters); 
val = cmd.ExecuteNonQuery(); 
cmd.Parameters.Clear(); 

return val; 

/**//// <summary> 
/// 執行查詢,并返回結果集的第一行的第一列.其他所有的行和列被忽略. 
/// </summary> 
/// <param name="cmdText">SQL 語句</param> 
/// <returns>第一行的第一列的值</returns> 
public static object ExecuteScalar(string cmdText) 

return ExecuteScalar(ConnString, cmdText); 

/**//// <summary> 
/// 執行查詢,并返回結果集的第一行的第一列.其他所有的行和列被忽略. 
/// </summary> 
/// <param name="connString">連接字符串</param> 
/// <param name="cmdText">SQL 語句</param> 
/// <returns>第一行的第一列的值</returns> 
public static object ExecuteScalar(string connString, string cmdText) 

using (SQLiteConnection conn = new SQLiteConnection(connString)) 

return ExecuteScalar(conn, cmdText); 


/**//// <summary> 
/// 執行查詢,并返回結果集的第一行的第一列.其他所有的行和列被忽略. 
/// </summary> 
/// <param name="connection">數據庫鏈接</param> 
/// <param name="cmdText">SQL 語句</param> 
/// <returns>第一行的第一列的值</returns> 
public static object ExecuteScalar(SQLiteConnection connection, string cmdText) 

object val; 
using (SQLiteCommand cmd = new SQLiteCommand()) 

PrepareCommand(cmd, connection, null, cmdText); 
val = cmd.ExecuteScalar(); 

return val; 

/**//// <summary> 
/// 執行SQL語句,返回結果集的DataReader 
/// </summary> 
/// <param name="cmdText">SQL語句</param> 
/// <param name="parameters">參數</param> 
/// <returns>結果集的DataReader</returns> 
public static SQLiteDataReader ExecuteReader(string cmdText, params SQLiteParameter[] parameters) 

return ExecuteReader(ConnString, cmdText, parameters); 

/**//// <summary> 
/// 執行SQL語句,返回結果集的DataReader 
/// </summary> 
/// <param name="connString">連接字符串</param> 
/// <param name="cmdText">SQL語句</param> 
/// <param name="parameters">參數</param> 
/// <returns>結果集的DataReader</returns> 
public static SQLiteDataReader ExecuteReader(string connString, string cmdText, params SQLiteParameter[] parameters) 

SQLiteConnection conn = new SQLiteConnection(connString); 
SQLiteCommand cmd = new SQLiteCommand(); 
try 

PrepareCommand(cmd, conn, null, cmdText, parameters); 
SQLiteDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection); 
cmd.Parameters.Clear(); 
return rdr; 

catch 

conn.Close(); 
throw; 


/**//// <summary> 
/// 預處理Command對象,數據庫鏈接,事務,需要執行的對象,參數等的初始化 
/// </summary> 
/// <param name="cmd">Command對象</param> 
/// <param name="conn">Connection對象</param> 
/// <param name="trans">Transcation對象</param> 
/// <param name="cmdText">SQL Text</param> 
/// <param name="parameters">參數實例</param> 
private static void PrepareCommand(SQLiteCommand cmd, SQLiteConnection conn, SQLiteTransaction trans, string cmdText, params SQLiteParameter[] parameters) 

if (conn.State != ConnectionState.Open) 
conn.Open(); 
cmd.Connection = conn; 
cmd.CommandText = cmdText; 
if (trans != null) 
cmd.Transaction = trans; 
if (null != parameters && parameters.Length > 0) 

cmd.Parameters.AddRange(parameters); 




  3. 增刪改查: 
復制代碼代碼如下:

Insert,Delete,Update 
const string s_AddressTreeIntoSQLite = "Insert into [AddressTree] ([Id],[ItemType],[ParentId],[Name]) values (@Id,@ItemType,@ParentId,@Name);"; 
SqliteHelper.ExecuteNonQuery(tran, s_AddressTreeIntoSQLite, 
//new SQLiteParameter[] here 
); 
Select 
const string s_AddresTreeFromSqlCE = "Select [Id],[ItemType],[ParentId],[Name] From [AddressTree];"; 
using (SqlCeDataReader rdr = SqlCeHelper.ExecuteReader(s_AddresTreeFromSqlCE )) 

while (rdr.Read()) 

//Read Data Here 


  4. 其他 
  SQLite性能絕對強悍.四表連接查詢,查詢200次,SQL CE需要44秒(with index),SQLite只需要3-6秒(with index). 
插入,刪除更新性能參見http://www.cnblogs.com/egmkang/archive/2009/06/06/1497678.html 
  PS:最近發現執行sql的時候,最好使用單一的長連接,而不是ConnectionString.原因很簡單,嵌入式數據庫沒有連接池技術, 
在進行數據庫查詢中的鏈接的打開關閉費用相對來說比較高昂.這一點在寫程序的時候注意以下. 
  還有,有關二進制資源,需要及時釋放,例如SqlCommand,這些在寫Web 程序的時候體驗不是很大,畢竟那種環境擁有大量 
的內存,GC的效率又是比較高.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲中文字幕无码一区| 亚洲国产97在线精品一区| 黄色一级大片免费| 亚洲欧洲综合另类在线| aaaaaa亚洲| 欧美性大战久久久| 亚洲第一香蕉网| 亚洲一区二区久久| 99视频免费看| 欧美第一黄网| 亚洲自拍另类综合| 精品国产成人亚洲午夜福利| 久久久久999| 久久裸体视频| 国产美女主播在线播放 | 免费在线黄色网| 欧美专区国产专区| 国产凹凸在线观看一区二区| 国产精品69页| 国产一区二区久久精品| 丝袜美腿亚洲综合| www.com毛片| 精品亚洲国产成av人片传媒 | 精品88久久久久88久久久| 欧美三级网站在线观看| 亚洲精品日韩av| 亚洲精品老司机| 久久精品波多野结衣| 成人激情直播| 激情久久av一区av二区av三区| 男人与禽猛交狂配| 精品国产中文字幕| 欧美日韩午夜影院| 国产草草影院ccyycom| 成人免费看片'免费看| 欧美一卡二卡在线| 天天色综合av| 我要看一级黄色大片| 久久躁日日躁aaaaxxxx| av欧美精品.com| 小早川怜子久久精品中文字幕| 国产精品成人aaaaa网站| 国产精品天美传媒沈樵| 午夜影院在线看| 亚洲最大色综合成人av| 日韩精品在线视频| 国产一本一道久久香蕉| 欧美另类z0zx974| 美国av一区二区三区| 欧美日本不卡视频| 美女一区二区三区| 中文幕无线码中文字蜜桃| 国产一区视频在线| 欧美午夜女人视频在线| 精品人妻一区二区三区换脸明星| 亚洲激情在线观看视频| 国产精品第100页| 色综合久久99| 麻豆91小视频| 日韩福利在线视频| 亚洲欧美日韩精品综合在线观看| 一区二区三区精品99久久| 97精品久久久午夜一区二区三区| 三上悠亚在线观看视频| 亚洲看片网站| 欧美大片免费看| 一区二区三区在线看| 在线观看免费观看在线| 香蕉久久久久久av成人| 国产精品区免费视频| 日韩高清a**址| 国产精品剧情在线亚洲| 国产主播第一页| www.涩涩涩| 国外成人在线视频网站| 亚洲女人初尝黑人巨大| 亚洲欧美日韩精品久久久久| 天堂在线视频观看| 亚洲天堂一级片| 黑森林福利视频导航| 亚洲综合av影视| 亚洲欧洲第一视频| 亚洲一区二区三区不卡国产欧美| 日韩1区2区日韩1区2区| 麻豆久久久久久久久久| 日本不卡视频一区| 国产一区二区三区播放| 国产日本欧美一区| 在线观看久久av| 日本韩国一区二区三区视频| 成人丝袜18视频在线观看| 亚洲手机在线观看| 一区二区三区在线播放视频| 亚洲精品中文字幕无码蜜桃| 欧美午夜欧美| 国产97色在线| 日韩成人在线播放| 午夜精品aaa| 久久综合久色欧美综合狠狠| 日韩激情视频网站| 亚洲精品国产无码| 激情无码人妻又粗又大| 亚欧精品在线视频| 男女超爽视频免费播放| 国产色婷婷国产综合在线理论片a| 最近更新的2019中文字幕| 欧美一级片在线看| 亚洲午夜免费视频| 国产欧美日韩激情| 国产精品一区二区不卡| 视频一区二区欧美| 国产又粗又猛视频免费| 国产这里有精品| 无码h肉动漫在线观看| 性生生活大片免费看视频| 精品免费久久久久久久| 中文字幕一区二区三区5566| 国产一级精品aaaaa看| 国产日韩欧美夫妻视频在线观看| 欧美日韩高清在线观看| 一区二区三区亚洲| 日韩麻豆第一页| 日韩一区二区三区视频| 欧美性大战久久久久久久蜜臀| 亚洲国产视频一区| 亚洲国产综合91精品麻豆| 国产精品伦一区二区三级视频| 99久久er热在这里只有精品15| 国产在线麻豆精品观看| 久久99久久99精品免视看婷婷| 美女在线视频一区| 麻豆国产精品一区二区三区| 日韩精品一二三四| 国产免费av电影| 午夜精品小视频| 亚洲精品97久久中文字幕| 国产乱码精品一区二三区蜜臂 | 先锋av资源站| 日本成人在线一区| 成人免费一级视频| 少妇人妻精品一区二区三区| 久久久久久久波多野高潮日日| 亚洲爱情岛论坛永久| 成人精品在线播放| 蜜臀久久99精品久久久久宅男| 国产在线一区观看| 26uuu国产在线精品一区二区| 国产精品电影一区二区| 亚洲一区二区av电影| 色婷婷激情综合| 精品国产1区2区3区| 一区二区中文字幕| 在线视频欧美日韩| 国产91色在线| 欧美1o一11sex性hdhd| 国产主播一区二区三区四区| 亚洲精品欧洲精品| www黄色av| 9.1在线观看免费| 99久久99久久精品免费| 久久久精品一区二区涩爱| 韩日视频在线观看| 国产999免费视频| 日本 欧美 国产| 日本成人一级片| 精品午夜久久福利影院| 欧美国产综合一区二区| 亚洲成年人网站在线观看| 日韩一区二区三区电影在线观看 | 国产精品三级电影| 欧美午夜理伦三级在线观看| 亚洲欧美日韩第一区| 欧美一级免费视频| 鲁鲁视频www一区二区| 一区二区三区 日韩| 少妇精品无码一区二区三区| 国产精品a成v人在线播放| 精品国自产在线观看| 99re亚洲国产精品| 色偷偷久久人人79超碰人人澡| 中文国产亚洲喷潮| 成人免费网站在线观看| 欧美做暖暖视频| 波多野结衣办公室33分钟| 亚洲国产成人无码av在线| 精品一区二区成人精品| 精品久久久在线观看| 精品国产一区二区三区久久久| 999精品视频一区二区三区| 亚洲中文字幕无码专区| av资源在线免费观看| 国产精品免费无遮挡无码永久视频| 女人18毛片一区二区三区| 亚洲欧美日韩国产手机在线| 欧美日韩国产综合视频在线观看 | 成人性生交大片免费看视频直播| 日本a在线免费观看| 91嫩草丨国产丨精品| 久久99精品国产| 色欲综合视频天天天| 日韩av电影手机在线观看| 国产精品丝袜久久久久久消防器材| 亚洲二区在线播放| 国产成人av福利| 亚洲成人网在线观看| 久久99精品久久久水蜜桃| 国产艳妇疯狂做爰视频 | 你懂的在线观看网站| 国产尤物在线观看| 久久久久久日产精品| 国产亚洲欧美日韩精品| 日本中文不卡| 日韩在线视频网址| 懂色av一区二区夜夜嗨| 亚洲国产精品成人精品| 欧美二区三区| 91传媒免费观看| 久久久久99精品国产片| 在线午夜精品自拍| 成人av在线播放观看| 国产污视频在线观看| 日本一区二区成人在线| 久久久久国产精品www| 国产高潮免费视频| 丰满岳乱妇国产精品一区| 在线免费观看成人短视频| 成人自拍偷拍| 亚洲AV成人无码网站天堂久久| 国产成人激情av| 一区二区日韩精品| 亚洲自偷自拍熟女另类| www日本在线| 日韩亚洲欧美一区| 久久精品国产综合精品| 欧美精品一区二区成人| 亚洲天堂av老司机| 国内精品小视频| 特级西西人体wwwww| 国产传媒一区在线| 久久久久国产精品免费| 韩国三级在线看| 97久久久精品综合88久久| 欧美第一黄色网| 免费啪视频在线观看| 高清日韩电视剧大全免费| 欧美国产乱视频| 欧美老女人bb| 久久久99久久| 成人黄在线观看| 日本网站在线免费观看| 在线观看日韩一区| 熟女熟妇伦久久影院毛片一区二区| 亚洲最大成人av| 亚洲国产日韩欧美在线图片| 免费在线观看日韩视频| 国内一区二区视频| 91av视频在线播放| 中文字幕乱码av| 亚洲va国产天堂va久久en| 国内精品久久久久久久果冻传媒| 成人高潮免费视频| 色综合 综合色| 精品无码一区二区三区在线| 国产一区欧美日韩| 国产成人久久精品| 精品少妇theporn| 欧美一区二区视频网站| 色欲av无码一区二区人妻| 国产一区二区女| 成人黄色av网站| 中文字幕 自拍偷拍| 亚洲男人天堂久| 奇米影视四色在线| 中文字幕不卡在线| 国产精品一区二区三区不卡| 99久久精品国产一区二区成人| 色一区av在线| 国产女人18水真多毛片18精品| 在线播放国产精品二区一二区四区| 男人用嘴添女人下身免费视频| 国产精品一区二区三区99| 不卡一区二区三区四区五区| av男人天堂av| 国产成人免费av电影| 在线观看日批视频| 欧美黄色免费网站| 国产高清中文字幕| 亚洲人成在线电影| 日韩在线中文字幕视频| 色婷婷综合视频在线观看| 色18美女社区| 国产精品欧美精品| 777久久久精品一区二区三区| 亚洲精品国产精| 欧美另类精品xxxx孕妇| 精品一区二区三区人妻| 日韩电影第一页| 少妇愉情理伦三级| 亚洲国产精品视频在线观看| 自拍偷拍中文字幕| 成人av电影免费在线播放| 日韩三级电影| 成人听书哪个软件好| 亚洲综合网中心| 99在线精品观看| 综合视频在线观看| 国产日韩欧美亚洲| 欧美图片激情小说| 亚洲久草在线视频| 亚洲欧美日韩三级| 欧美色精品在线视频| 玖草视频在线观看| 亚洲精品国精品久久99热| 国产精品老熟女一区二区| 国产一区二区三区在线视频| 五月天婷婷久久| 国产97色在线|日韩| 免费人成在线不卡| 午夜精品福利一区二区| 国产视频一区二区在线观看| 久久久久99精品成人片| 精品日韩美女的视频高清| 国产成人精品无码片区在线| 精品国产凹凸成av人导航| 精品午夜福利在线观看| 日本高清视频精品| 激情文学综合插| 成人午夜免费剧场| 欧美丝袜第一区| 日本伦理一区二区三区| 韩国美女主播一区| 91亚洲精品乱码久久久久久蜜桃| 天天综合狠狠精品| 99国产精品国产精品久久| 欧美在线观看黄| 亚洲精品视频观看| 激情六月丁香婷婷| 黑人巨大精品欧美一区免费视频| 超碰在线97免费| 91精品国产色综合久久ai换脸 | 老汉色影院首页| 91免费视频大全| 午夜激情在线观看视频| 91麻豆精品国产91久久久久久 | 人人狠狠综合久久亚洲| 永久免费网站视频在线观看| 欧美午夜精品久久久久久超碰 | 日韩欧美精品在线观看| www..com国产| 欧洲一区二区在线观看| 欧美精品在欧美一区二区少妇| 羞羞色院91蜜桃| 久久天天东北熟女毛茸茸| 精品呦交小u女在线| 久草热8精品视频在线观看| 无码人妻精品一区二区三区99不卡| 久久久久久香蕉网| 亚洲国产精品成人久久综合一区| 国产7777777| 国产亚洲第一区| 欧美一二三四在线| 美国毛片一区二区| 一级欧美一级日韩片| 欧美综合一区第一页| 一区二区三区四区五区视频在线观看| 日本网站免费观看| 国内自拍中文字幕| 精品久久久999| 国产色综合久久| 免费在线观看黄色av| 喜爱夜蒲2在线| 久久伊人精品天天| 亚洲欧美怡红院| 中文字幕制服诱惑| 天天视频天天爽| 国产欧美欧洲在线观看| 欧美三区在线观看| 日韩精品五月天| 亚洲欧洲久久久| 色播五月综合| 中文字幕亚洲欧美日韩高清| 久久综合999| 精品成人免费视频| 欧美变态另类刺激| 91黑丝高跟在线| 色偷偷久久人人79超碰人人澡| 久热国产精品| 三区四区在线观看| 亚洲一区二区三区欧美| 久久色在线播放| 亚洲综合清纯丝袜自拍| 国产综合视频在线| 亚洲黄色小说视频| 男人日女人的bb| 欧亚精品中文字幕| 7777精品伊人久久久大香线蕉经典版下载 | 国产欧美熟妇另类久久久| 欧美成人乱码一二三四区免费| 91久久精品日日躁夜夜躁国产| 91精品国产综合久久久久| 国产精品综合二区| 色老头在线视频| 最新国产精品自拍| 性欧美18一19内谢| 91九色国产社区在线观看| 久久久av水蜜桃| 国产精品午夜福利| 亚洲少妇中文字幕| 精品一区日韩成人| 九九热r在线视频精品|