一: 使用executereader()運算元據庫
executereader會返回乙個datareader物件,是乙個唯讀只進的資料流,相比dateset物件,其速度比較快,所需要的伺服器資源也少
public void printdata()
rd.close();
con.close();
}通常用executereader執行查詢操作,事務處理inert delete update不建議使用
二:executenonquery()運算元據庫
executenonquery()返回的是乙個整形值,並不是dataset,是影響資料庫的行數.
通常情況下為資料庫事務處理的首選,當需要執行插入、刪除、更新等操作時,首選
executenonquery()。
注意當執行create table 或drop table成功時也是返回-1
public void insertdata()
三:executescalar()運算元據庫
executescalar 如果是select則返回的是第一行第一列的值,如果執行的不是查詢語句,則返回的是乙個未例項化的object,
必須進行型別轉換來顯示。executescalar()經常使用於當需要返回單一值時的情況
public void scalardata()
四:用dataset更新,刪除,插入資料
步驟: 1.建立乙個connection 物件。
2.建立乙個dataadapter 物件。
3.初始化介面卡。
4.使用資料介面卡的fill 方法執行select 命令,並填充dataset。
5.執行sqlcommandbuilder 方法生成updatacommand 方法。
6.建立datatable 物件並指定相應的dataset 中的表。
7.建立datarow 物件並查詢需要修改的相應行。
8.更改datarow 物件中的列的值。
9.使用update 方法進行資料更新。
dataset的更新刪除和插入操作基本相同,不同的是第7,8步
插入資料庫:
public void datasetinsert()
更新資料庫:
public void datasetupdate()
;//如果是主鍵為多列的話:
//為表設定主鍵
//datatable db = da.tables["datatable"];
= new datacolumn ;
//查詢行
//string kk = ;
//datarow dr = db.rows.find(kk);
//dr["age"] = 23;
//自適應介面卡屬性設定
sqlcommandbuilder du = new sqlcommandbuilder(ds);
//查詢行
datarow dr = db.rows.find("芙蓉姐姐");
dr["address"] = "火星";
//更新
ds.update(da, "datatable");
//關閉
con.close();
}刪除資料行
public void datasetdelete()
;//自適應介面卡屬性設定
sqlcommandbuilder du = new sqlcommandbuilder(ds);
//查詢行
datarow dr = db.rows.find("小狗");
dr.delete();
//更新
ds.update(da, "datatable");
//關閉
con.close();
}注意dataset更新和刪除,都必須設定dataset datatablet的主鍵與實際資料庫中的表一樣,否則find()會出錯
什麼時候用datareader,什麼用dataset (轉
如果不需要客戶返回值,只需要顯示而不修改,用sqldatareader效率比較高。相反用dataset。
sqldatareader提供一種從資料庫讀取只進的行流的方式.
如果用到分頁或者需要有暫存資料的地方,用dataset。
總的來說
大資料量或簡單操作 使用 datareader
中小資料量或複雜操作 使用 dataset
如果一次性讀取的資料量較大建議使用dataset,dataset讀取之後佔的是記憶體空間,但是現在一般的電腦都有1g以上的記憶體,所以這點記憶體算不了什麼。完全可以忽略。如果使用datareader可能會導致**讀取資料的時候 出現假死現象。(千條以上)
如果是少量資料 建議使用datareader,讀取速度較快。讓使用者體驗的舒服些。
在 iis 伺服器上所使用的記憶體也較少。我們的建議是,如果您的資料**控制項只是用來填入控制項的清單成為其選項,亦或是您的資料繫結控制項並不需要提供排序或分頁功能的話,則應該使用 datareader。反之,如果您的資料繫結控制項需要提供排序或分頁功能的話,則必須使用 dataset 並承擔其各項負面效應。
datareader
速度較快
不支援快取、分頁與動態排序。
dataset
支援快取、分頁與動態排序
速度較慢
c 運算元據庫
namespace ec region sql資料庫備份 sql資料庫備份 sql伺服器ip或 localhost 資料庫登入名 資料庫登入密碼 資料庫名 備份到的路徑 public static void sqlback string serverip,string loginname,strin...
C 運算元據庫
先從資料庫中取出結果集後進行處理資料後再update更新到資料庫。如果只想讀取和顯示資料,只需要使用資料讀取sqldatareader即可,但要處理資料然後更新資料庫 增加 更改 局需要資料集dataset和資料介面卡sqldataadaper。sqldataadapter的用法 讀取資料用sqld...
C 運算元據庫
先上 using system using system.collections.generic using system.linq using system.text using system.threading.tasks using system.data using system.data....