日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > C# >内容正文

C#

C# SQLite编程总结

發(fā)布時(shí)間:2025/3/20 C# 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C# SQLite编程总结 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1.如果自己手動(dòng)創(chuàng)建了數(shù)據(jù)庫(kù)和字段,則不需要再創(chuàng)建table,基本流程:

1)SQLiteConnectionStringBuilder sb = new SQLiteConnectionStringBuilder();

??????????? sb.DataSource = @"AA.db";//數(shù)據(jù)庫(kù)名字

??????????? var conStr = sb.ToString();

2)using (var con = new SQLiteConnection(conStr)){……}這句話代表跟數(shù)據(jù)庫(kù)建立連接

3)在上面建立的連接con中執(zhí)行命令或事物

using (var cmd = new SQLiteCommand(cmdFormat1, con)){……}// cmdFormat1為command的string SQL語(yǔ)句;

command可以執(zhí)行Insert、Select、Read等操作;向表格中插入數(shù)值除了固定的SQL Insert語(yǔ)句插入方法以外,還可以通過(guò)Parameters實(shí)現(xiàn)。

const string cmdFormat1 = "INSERT INTO PERSON VALUES(@ID,@NAME,@AGE)";//不規(guī)定具體的數(shù)值

cmd1.Parameters.Add(new SQLiteParameter("ID", 2));//分別對(duì)每個(gè)字段賦值

cmd1.Parameters.Add(new SQLiteParameter("NAME","Betty"));

cmd1.Parameters.Add(new SQLiteParameter("AGE", 24));

有時(shí),需要將取得的數(shù)據(jù)輸出,則再cmd中執(zhí)行:

var reader=cmd1.ExecuteReader();

while (reader.Read())

{

?? int age = reader.GetInt16(0);//讀到的第0列數(shù)據(jù),同理,可以讀取其他列數(shù)據(jù)

?? Console.WriteLine(age);

?? Console.ReadKey();

}

事務(wù)的代碼:

using (var trans = con.BeginTransaction())

{

……(在此可以執(zhí)行各種command等)

Trans.Commit();

}

在對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作時(shí),有時(shí)可能在執(zhí)行SQL代碼時(shí)出現(xiàn)錯(cuò)誤,對(duì)數(shù)據(jù)庫(kù)進(jìn)行誤操作,為了避免這種情況的出現(xiàn),可用事務(wù)先提交,Trans.Commit()始終帶try……catch……,當(dāng)提交出現(xiàn)錯(cuò)誤時(shí)在catch中進(jìn)行rollback操作,代碼如下

try

{

trans.Commit();

}

catch (System.Exception ex)

{

Console.WriteLine("Commit's exception:{0}",ex.ToString());

try

{

trans.Rollback();

}

catch (System.Exception ex1)

{

Console.WriteLine("Rollback's exception:{0}",ex1.ToString());

}

}

?

4)在程序中自己創(chuàng)建表格,

const string cmdFormat = "CREATE TABLE PERSON(ID INT,NAME STRING,AGE INT);";

執(zhí)行該命令,如果該table已經(jīng)建立了,在command中執(zhí)行上面的那句話就會(huì)出錯(cuò),為了避免該問(wèn)題,在command中執(zhí)行該命令時(shí),加個(gè)try……catch……,這樣,即使table已經(jīng)建立,程序可以繼續(xù)往下執(zhí)行;

轉(zhuǎn)載于:https://www.cnblogs.com/SherryWang/p/3548162.html

總結(jié)

以上是生活随笔為你收集整理的C# SQLite编程总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。