C 資料庫 資料庫基本操作

2022-06-05 17:24:12 字數 2784 閱讀 5158

executenonquery方法、executescalar方法、executereader方法的區別

----executenonquery():執行命令物件的sql語句,返回乙個int型別變數,如果sql語句是對資料庫的記錄進行操作(如記錄的增加、刪除和更新),那麼方法將返回操作所影響的記錄條數。

----executescalar():執行命令物件的sql語句,如果sql語句是select查詢,則僅僅返回查詢結果集中的第1行第1列,而忽略其他的行 和列。該方法所返回的結果為object型別,在使用之前必須強制轉換為所需的型別。如果sql語句不是select查詢,則返回結果沒有任何作用。

----executereader():執行命令物件的sql語句,在ado.net中,就是datareader物件的executereader()方法來進行資料的列出,並且我們用這個executereader()方法來顯示資料是最快的一種方法,因為當我們在用executereader()方法中的datareader 物件來進行資料的在**建設中顯示時,他只可以一條一條向前讀,不能返回,也就是像asp中的ado方法中的recordset 物件的movenext一樣,它沒有move -1這樣的返回方法。

讀取方式一:executereader方式讀取資料,具有時效性,唯讀,具有較高的讀取效率

//說明:程式**中data source 表示執行資料庫對應的計算機名,initial catalog表示所使用的資料庫名。uid為指定的資料庫使用者名稱,pwd為指定的使用者口令。

//sa登入方式,data source表示伺服器位址,initial catalog表示資料庫名字,user id表示賬號名,pwd表示賬號密碼。

string constr = "data source=.;initial catalog=qpmes_dev;user id=sa;pwd=sa";

//建立新的sql鏈結

sqlconnection con = new sqlconnection(constr);

//建立sql語句

string sql = "select * from test_leo_pc";

//建立資料庫命令

sqlcommand com = new sqlcommand(sql, con);

try,年齡是,位址是", myreader.getstring(0), myreader.getint32(1), myreader.getstring(2));

datalink() );}}

catch (exception)

finally

讀取方式二:通過dataset設定資料庫,其中dataset會建立乙個本地資料表,sqldataadapter用來操作本地資料庫,並與伺服器資料庫進行互動,當建立本地資料表並呼叫fill()函式填充資料表後,可以關閉與資料庫伺服器的連線,當操作完成後,再建立連線把本地資料庫更新到伺服器中。

sqldataadapter有兩個有用的方法,分別為 fill 和 update。下面分別來介紹這兩方法。

fill 方法

fill 方法是用來填充 dataset 的。也就是,把資料庫中的運送到c#空間。fill 有13個過載的方法,在使用時可以根據情況選擇使用。使用 fillschema,讓 sqldataadapter 建立dataset 的架構,並在用資料填充它之前就將主鍵資訊包括進去。

update 方法

update 方法是用來更改資料庫的。也就是,把c#記憶體中修改的內容同步到資料庫中。更新是逐行進行的。對於插入、修改和刪除,update 方法會自動確定型別(insert、update 或 delete)。

static void main(string args)

,,", mdr[0], mdr[1], mdr[2]);}}

catch (exception)

finally

}

dataset的update功能demo

conn = new sqlconnection(connstr);

//開啟資料庫連線

conn.open();

string sql = "select * from userinfo";

//建立sqldataadapter類的物件

sqldataadapter sda = new sqldataadapter(sql, conn);

//建立dataset類的物件

dataset ds = new dataset();

//使用sqldataadapter物件sda將查詢結果填充到datatable物件ds中

sda.fill(ds);

//建立sqlcommandbuilder類的物件

sqlcommandbuilder cmdbuilder = new sqlcommandbuilder(sda);

//建立datarow類的物件

datarow dr = ds.tables[0].newrow();

//設定name列的值

dr["name"] = textbox1.text;

//設定password列的值

dr["password"] = textbox2.text;

//向datatable物件中新增一行

ds.tables[0].rows.add(dr);

//更新資料庫

sda.update(ds);

補充關鍵點:

1、宣告sqldataadapter的幾種方法

2、遍歷dataset表的幾種方法

3、資料庫的基本概念和面試題

資料庫 資料庫基本操作

操作練習 修改表結構 表資料的操作 實現 1 建立表 create table student stu no char 12 not null primary key,stu name varchar 20 not null gender tinyint 1 default1,age tinyint...

資料庫基本操作

1.查詢一周之內的資料 select from 表名 where date sub curdate interval 7 day date 欄位名 2.插入 年 月 日 時 分 秒的時間 pstmt.settimestamp 7,new timestamp system.currenttimemil...

資料庫基本操作

登入資料庫系統 mysql h localhost u root p 檢視已存在的資料庫 show databases 檢視預設儲存引擎 show variables like storage engine 建立資料庫 create database 想建立的資料庫名字 刪除資料庫 drop dat...