近日有需要寫點c#程式,有用到dataset資料集和sqlite資料庫,由於我從來就不擅長記各種程式語言的語法,所以在查閱一堆資料後,留下以下內容備忘:
一、sqlite操作,直接貼**,很簡單:
//建立乙個資料庫檔案
string
+ "\\test.db";
system.data.sqlite.sqliteconnection.
createfile
(datasource);
//連線資料庫
system.data.sqlite.sqliteconnection conn =
newsystem.data.sqlite.
sqliteconnection();
system.data.sqlite.sqliteconnectionstringbu
ilder connstr =
newsystem.data.sqlite.
sqliteconnectionstringbuilder();
connstr.datasource = datasource;
connstr.password =
"admin";
//設定密碼,sqlite ado.net實現了資料庫密碼保護
conn.connectionstring = connstr.
tostring();
conn.
open();
//建立表
system.data.sqlite.sqlitecommand cmd =
newsystem.data.sqlite.
sqlitecommand();
string
sql =
"create table test(username varchar(20),password varchar(20))";
cmd.commandtext=sql;
cmd.connection=conn;
cmd.
executenonquery();
//插入資料
sql =
"insert into test values('dotnetthink','mypassword')";
cmd.commandtext = sql;
cmd.
executenonquery();
//取出資料
sql =
"select * from test";
cmd.commandtext = sql;
system.data.sqlite.sqlitedatareader reader = cmd.
executereader();
stringbuilder sb =
newstringbuilder();
while
(reader.
read())
messagebox.
show(sb.
tostring());
二、利用dataset資料集向sqlite資料庫插入資料,也直接貼**:
dialogresult dlgresult= openfiledialog1.
showdialog();
// 開啟要匯入的檔案
if(openfiledialog1.filename == ""
|| dlgresult
!= dialogresult.ok)
return;
// 利用streamreader類讀取文字內容
streamreader sr=
newstreamreader
(file.
openread(openfiledialog1.filename),system.text.encoding.default);
//連線資料庫
system.data.sqlite.sqliteconnection conn =
newsystem.data.sqlite.
sqliteconnection();
system.data.sqlite.sqliteconnectionstringbu
ilder connstr =
newsystem.data.sqlite.
sqliteconnectionstringbuilder();
connstr.datasource = datasource;
connstr.password =
"admin";
//設定密碼,sqlite ado.net實現了資料庫密碼保護
conn.connectionstring = connstr.
tostring();
conn.
open();
//大量更新時採用事務的方式,先快取事務,然後sqlitedataadapter.update後批量commit
sqlitetransaction ts = conn.
begintransaction();
string
sql=
" select name,number from test limit 1";
sqlitedataadapter dta =
newsqlitedataadapter(sql,conn);
sqlitecommandbuilder scb =
newsqlitecommandbuilder(dta);
dta.insertcommand=scb.
getinsertcommand();
dataset ds =
newdataset();
dta.
fillschema(ds,schematype.source,
"temp");
//載入表架構注意
dta.
fill(ds,
"temp");
//載入表資料
datatable dt = ds.tables[
"temp"];
//插入資料
while
(!sr.endofstream) );
if(strarr[
0] != ""
&& strarr[
1] != "")
} intresult=dta.
update(dt);
// 如不用begintransaction和commit批量提交事務,效能會很低,350條資料20多秒
ts. commit();
// 提交事務
ds. acceptchanges();
// 釋放資源
dta.
dispose();
ds.clear();
conn.
close();
conn.
dispose();
sr.close();
sr.dispose();
messagebox.
show(
"成功匯入了: "
+ result.
tostring()
+ " 行資料。",
"提示",
messageboxbuttons.ok,
messageboxicon.information);
C 操作Dataset資料集與SQLite資料庫
近日有需要寫點c 程式,有用到dataset資料集和sqlite資料庫,由於我從來就不擅長記各種程式語言的語法,所以在查閱一堆資料後,留下以下內容備忘 一 sqlite操作,直接貼 很簡單 建立乙個資料庫檔案 string test.db system.data.sqlite.sqliteconne...
C 之資料集 DataSet物件
ado.net資料訪問技術的乙個突出的特點就是支援離線訪問,而實現這種離線訪問技術的核心就是dataset物件,該物件通過將資料駐留在記憶體來實現離線訪問。dataset物件概述 dataset物件由一組datatable物件組成,這些物件與datarelation物件互相關聯。這些dataset物...
c 使用redis 訪問dataset資料集
1.下面是關於c 使用redis資料庫 對dataset進行訪問操作的方法using servicestack.redis using system using system.collections.generic using system.configuration using system.da...