日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

ExecuteNonQuery()的用法

 寒木蕭條 2010-09-24

ExecuteNonQuery()的用法

下面我們將詳細講解如何在Page_Load()中對數(shù)據(jù)庫的增加、刪除、修改,最后我們再來總結(jié)一下ExecuteNonQuery(),ExecuteScalar(),ExecuteReader的用法:

1、 增加新的記錄
 
private void Page_Load(object sender, System.EventArgs e)
{
MyConnection.Open();’打開數(shù)據(jù)庫
MyCommand1.CommandText
= "insert into admin values(‘aaddq‘,‘as‘,‘ss‘)";
MyCommand1.Connection
= MyConnection;
MyCommand1.ExecuteNonQuery();’由于增加了一條記錄,所以返回1
//或者MyCommand1.ExecuteReader();先增加一條記錄,然后返回一個System.Data.OleDb.OleDbDataReader類型的對象,該對象為:EOF
//或者MyCommand1. ExecuteScalar();先增加一條記錄,返回未實列化的對象
MyConnection.Close();
}

2、 刪除現(xiàn)有數(shù)據(jù)
 
private void Page_Load(object sender, System.EventArgs e)
{
MyConnection.Open();’打開數(shù)據(jù)庫
MyCommand1.CommandText
= "delete * from admin";
MyCommand1.Connection
= MyConnection;
MyCommand1.ExecuteNonQuery();’由于刪除了n條記錄,所以返回n
//或者MyCommand1.ExecuteReader();先刪除n條記錄,然后返回一個System.Data.OleDb.OleDbDataReader類型的對象,該對象為:EOF
//或者MyCommand1. ExecuteScalar();先刪除n條記錄,返回未實列化的對象
MyConnection.Close();
}

3、 修改現(xiàn)有數(shù)據(jù)

private void Page_Load(object sender, System.EventArgs e)
{
MyConnection.Open();’打開數(shù)據(jù)庫
MyCommand1.CommandText
= "update admin set admin_code=’212’,Admin_pwd=’43’ where admin_code=’23’";
MyCommand1.Connection
= MyConnection;
MyCommand1.ExecuteNonQuery();’由于修改了1條記錄,所以返回n
//或者MyCommand1.ExecuteReader();先修改了1條記錄,然后返回一個System.Data.OleDb.OleDbDataReader類型的對象,該對象為:EOF
//或者MyCommand1. ExecuteScalar();先修改了1條記錄,返回未實列化的對象
MyConnection.Close();
}

三、關于MyCommand的ExecuteNonQuery(),ExecuteScalar(),ExecuteReader方法的區(qū)別:
1、ExecuteNonQuery():執(zhí)行SQL,返回一個整型變量,如果SQL是對數(shù)據(jù)庫的記錄進行操作,那么返回操作影響的記錄條數(shù),如果是 SQL="CREATE TABLE LookupCodes (code_id smallint IDENTITY(1,1) PRIMARY KEY CLUSTERED, code_desc varchar(50) NOT NULL)"那么在表創(chuàng)建成功后該方法返回 –1。
例如:
private void Page_Load(object sender, System.EventArgs e)
{
MyConnection.Open();’打開數(shù)據(jù)庫
MyCommand1.CommandText = "CREATE TABLE LookupCodes (code_id smallint IDENTITY(1,1) PRIMARY KEY CLUSTERED, code_desc varchar(50) NOT NULL)"; MyCommand1.Connection = MyConnection;
MyCommand1.ExecuteNonQuery();’首先建立一個LookupCodes表,然后返回-1
//或者MyCommand1.ExecuteReader();首先建立一個LookupCodes表,然后返回一個System.Data.OleDb.OleDbDataReader類型的對象,該對象為:EOF
//或者MyCommand1. ExecuteScalar();首先建立一個LookupCodes表,返回未實列化的對象
MyConnection.Close();
}


2、 ExecuteScalar():執(zhí)行SQL,(如果SQL是查詢Select)返回查詢結(jié)果的第一行第一列,如果(如果SQL不是查詢Select)那 么返回未實列化的對象,因為對象未實列化,所以返回結(jié)果不能ToString(),不能Equals(null),也就是說返回結(jié)果沒有任何作用

3、 executeReader方法執(zhí)行SQL,(如果SQL是查詢Select)返回查詢結(jié)果的集合,類型是 System.Data.OleDb.OleDbDataReader,你可以通過此結(jié)果,獲取查詢的數(shù)據(jù)。如果(如果SQL不是查詢Select)那么 返回一個沒有任何數(shù)據(jù)的System.Data.OleDb.OleDbDataReader類型的集合(EOF)


四、總結(jié):
ASP.Net中對于數(shù)據(jù)庫的操作方法很多,要實現(xiàn)統(tǒng)一個目標不同的人可能會采取不同的方法,就好像在ASP中有的人喜歡用RS.ADDNEW,有的人喜 歡用”Insert Into”,主要是看個人的習慣,當然在性能上不同的方法可能會存在較大的差別,這個只能靠我們在平常的學習中一點一滴的積累經(jīng)驗的。另外順便說一下 ASP.Net頁提供類似如下方式的操作方法:
OleDbCommand2.Parameters("au_id").Value = TextBox1.Text
OleDbCommand2.Parameters(
"au_lname").Value = TextBox2.Text
OleDbCommand2.Parameters(
"au_fname").Value = TextBox3.Text
OleDbCommand2.Parameters(
"phone").Value = TextBox4.Text
OleDbCommand2.Parameters(
"address").Value = TextBox5.Text
OleDbCommand2.Parameters(
"city").Value = TextBox6.Text
OleDbCommand2.Parameters(
"st").Value = TextBox7.Text
OleDbCommand2.Parameters(
"zip").Value = TextBox8.Text
OleDbCommand2.Parameters(
"contract").Value = CheckBox1.Checked
cmdresults
= OleDbcommand2.ExecuteNonQuery()

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多