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...