ホームページ >バックエンド開発 >C#.Net チュートリアル >ExecuteNonQuery()、ExecuteScalar()、ExecuteReader の使用法
以下では、Page_Load() でデータベースを追加、削除、変更する方法を詳しく説明します。最後に、ExecuteNonQuery()、ExecuteScalar()、および ExecuteReader の使用方法をまとめます
-------- -------------------------------------------------- -- -
1. 新しいレコードを追加します
private void Page_Load(object sender, System.EventArgs e)
{
MyConnection.Open();'データベースを開きます
MyCommand1.CommandText = "管理値に挿入します('aaddq', 'as ','ss')";
MyCommand1.Connection = MyConnection;
MyCommand1.ExecuteNonQuery();'レコードが追加されたため、1 が返されます
//または MyCommand1.ExecuteReader(); 最初にレコードを追加してから、 System.Data.OleDb.OleDbDataReader タイプのオブジェクトを 1 つ返します。オブジェクトは次のとおりです: EOF
//または MyCommand1. ExecuteScalar(); まずレコードを追加し、未実装のオブジェクト
MyConnection.Close() を返します。 ------------------------------------------------ -- ----------------
2. 既存のデータを削除します
private void Page_Load(object sender, System.EventArgs e)
{
MyConnection.Open();'データベースを開きます
MyCommand1 .CommandText = "delete * from admin";
MyCommand1.Connection = MyConnection;
MyCommand1.ExecuteNonQuery(); 'n 個のレコードが削除されたため、n が返されます
//または MyCommand1.ExecuteReader();レコードを取得し、次に System.Data.OleDb.OleDbDataReader 型のオブジェクトを返します。これは、EOF
//または MyCommand1 です。最初に n 個のレコードを削除し、未実装のオブジェクト
MyConnection.Close() を返します。
------------------------------------------------ -- ----------------
3. 既存のデータを変更する
private void Page_Load(object sender, System.EventArgs e)
{
MyConnection.Open();'データベースを開く
MyCommand1 .CommandText = "update admin set admin_code='212',Admin_pwd='43' where admin_code='23'";
MyCommand1.Connection = MyConnection; '1 つのレコードが変更されたため、したがって、 return n
//Or MyCommand1.ExecuteReader(); は最初に 1 つのレコードを変更し、次に System.Data.OleDb.OleDbDataReader タイプのオブジェクトを返します。これは次のとおりです: EOF
//Or MyCommand1.レコード、未実装のオブジェクトを返します
MyConnection.Close();
}
3. MyCommand の ExecuteNonQuery()、ExecuteScalar()、および ExecuteReader メソッドの違い:
1. ExecuteNonQuery(): SQL を実行し、整数変数を返します。 SQL がデータベース レコードを操作する場合、SQL="CREATE TABLE LookupCodes (code_id smallint IDENTITY(1,1) PRIMARY KEY CLUSTERED, code_desc varchar( 50) NOT NULL)" の場合は、操作の影響を受けるレコードの数を返します。このメソッドは、テーブルが正常に作成されると -1 を返します。
例:
private void Page_Load(object sender, System.EventArgs e)
{
MyConnection.Open();'データベースを開く
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。まず LookupCodes テーブルを作成し、未実装のオブジェクト
MyConnection.Close() を返します。
2. ExecuteScalar(): SQL を実行し、(SQL がクエリ Select の場合) クエリ結果の最初の行と最初の列を返します。(SQL がクエリ Select でない場合)、実体化されていないオブジェクトを返します。 object 列化されていないため、返される結果は ToString() または Equals(null) にはなりません。つまり、executeReader メソッドは SQL を実行します (SQL がクエリ Select の場合)。 System.Data.OleDb.OleDbDataReader と入力すると、クエリ結果のコレクションが返されます。この結果を通じてクエリされたデータを取得できます。 If (SQL がクエリ Select ではない場合)、データなしで System.Data.OleDb.OleDbDataReader 型のコレクションを返します (EOF)
4. 要約:
ASP.Net でデータベースを操作する方法は数多くあります。 ASP と同じように、RS.ADDNEW を使用することを好む人もいれば、「Insert Into Of」を使用することを好む人もいます。これは、主に個人の習慣によって異なります。もちろん、パフォーマンスに関してはさまざまな方法がありますが、これは日々の研究で少しずつ経験を積むことでのみ達成できるものです。ちなみに、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()