C 運算元據庫 學習筆記

2021-06-01 11:49:46 字數 2665 閱讀 1458

一: 使用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....