c 資料庫知識點總結

2021-09-19 10:45:55 字數 2663 閱讀 1604

資料提供者data provider用來提供dataset(以同樣的方式從不同資料來源獲得資料,資料來源的記憶體駐留形式)和資料庫之間的聯絡,也包含了訪問資料庫的一系列介面。包括sql server .net,oledb.net,odbc.net和oracle.net。每種有4個核心物件,物件間互相配合完成資料庫的連線、操作、互動。

(1)connection物件:對於不同的.net資料提供者,ado.net採用不同的connection物件連線資料庫。這些connection對我們遮蔽了具體的實現細節,並提供了一種統一的實現方法。

a. sqlconnetcion類的物件連線是sql server資料庫;

b. oracleconnection類的物件連線oracle資料庫;

c. oledbconneetion連線支援ole db的資料庫,如access;

d. odbcconnection類的物件連線支援odbc的資料庫。

與資料庫的所有通訊都是通過connection物件來完成的。包括開啟、關閉資料庫。

使用方法:

定義連線字串,字串中包括伺服器名、資料庫名、帳戶名、密碼;建立對應的connection物件;使用open()方法開啟資料庫;

string constr = "data source=(local);initial catalog=try;user id=「」;password=「";

sqlconnection con = new sqlconnection(constr);

con.open();

(2)command物件:用於對資料來源執行指定指令,一般為不需要返回結果的命令或儲存。不同資料提供者command物件名稱不同。不管資料庫有無連線均可進行操作。

使用方法:所有例項方法參照建構函式

string sqlstr="update student set  name='jone' where name='bill' ";            

sqlcommand cmd=new sqlcommand(sqlstr, con);

cmd.executenonquery();//有其它方法,大同小異

con.close();

(3)datareader物件:用於從資料庫返回唯讀資料流。該物件提供順序,以唯讀的方式讀取command物件獲得的資料結果集。正是因為datareader是以順序的方式連續地讀取資料,所以datareader會以獨佔的方式開啟資料庫連線。

由於datareader只執行讀操作,並且每次只在記憶體緩衝區裡儲存結果集的一條資料,所以使用datareader物件的效率比較高,如果要查詢大量資料,同事不需要隨機訪問和修改資料,datareader是優先的選擇。datareader物件有許多的屬性和方法,具體可查詢手冊或幫助文件。

使用方法:

sqlcommand cmd= new sqlcommand(sqlstr, con);//建立command物件 

sqldatareader dr =cmd.executereader();//執行查詢

if (dr.hasrows)//判斷資料表中是否含有資料

else

(4)資料介面卡dataadapter物件:資料介面卡是 ado.net 託管提供程式(一組用於資料來源與資料集之間的通訊的物件)的組成部分,用於在應用程式和資料庫之間交換運算元據,資料集可以看作資料來源的記憶體駐留形式。

介面卡是資料來源和資料集的橋梁。使用方法:不唯一,詳細參照建構函式

string strconnection = "provider=microsoft.jet.oledb.4.0;data source="" ;" ;

oledbconnection conn = new oledbconnection(strconnection); //定義連線物件

conn.open();

string query = " select * from tstudent ";

oledbdataadapter myadapter = new oledbdataadapter(query, conn); //執行sql語句

dataset ds = new dataset();//新建資料集

myadapter.fill(ds);//向dataset中的表填充資料集

datagridview1.datasource = ds.tables[0];//互動介面,顯示到控制項中

介面卡除在例項化物件時就賦值操作命令外,還可以利用屬性賦sql語句。包括selectcommand 、insertcommand 、updatecommand 、deletecommand屬性。例如:

sqldataadapter da = new sqldataadapter();             

sqlcommand cmd1 = new sqlcommand("select * from dbo.tstu", con);

da.selectcommand = cmd1;

至此,c# 連線運算元據庫知識點總結完畢。

資料庫知識點總結

mysql支援的索引型別 b tree索引 隔離級別 預設使用可重複讀 mvcc 多版本併發控制機制。鎖機制可以控制併發操作,但是其系統開銷較大,而mvcc可以在大多數情況下代替行級鎖,使用mvcc,能降低其系統開銷。人們一般把基於鎖的併發控制機制稱成為悲觀機制,而把mvcc機制稱為樂觀機制。這是因...

mysql資料庫知識點總結

mysql屬於關係型資料庫,關係型資料庫是指採用了關係模型來組織資料的資料庫,而關係模型就是指二維 模型,所以,關係型資料庫就是由二維表及其之間的聯絡所組成的乙個資料組織。1.mysql資料庫中常用的概念有 1 高併發讀寫效能低 由於 的使用者併發性高,往往是每秒上萬次的讀寫請求,雖然mysql等關...

資料庫知識點

1.truncate delete和drop delete delete是一行行刪除資料,不影響表結構,並且會記錄日誌,可以進行回滾。truncate 刪除表中所有資料,不記錄日誌,不可以回滾,truncate之後表空間和索引大小會回到初始值。所以truncate之前最好備份 drop 刪除整個表結...