SACommand オブジェクトを使用してローを挿入、更新、削除するには、ExecuteNonQuery 関数を使用します。ExecuteNonQuery 関数は、結果セットを返さないクエリ (SQL 文またはストアド・プロシージャ) を発行します。ExecuteNonQuery メソッドを参照してください。
変更 (挿入、更新、または削除) を行うことができるのは、単一テーブルのデータのみです。ジョインに基づく結果セットは更新できません。SACommand オブジェクトを使用するには、データベースに接続してください。
オートインクリメント・プライマリ・キーのプライマリ・キー値の取得に関する詳細については、プライマリ・キー値の取得を参照してください。
SQL 文の独立性レベルを設定するには、SACommand オブジェクトを SATransaction オブジェクトの一部として使用します。SATransaction オブジェクトを使用しないでデータを修正すると、.NET データ・プロバイダはオートコミット・モードで動作し、実行した変更内容は即座に適用されます。Transaction 処理を参照してください。
SAConnection オブジェクトを宣言して初期化します。
SAConnection conn = new SAConnection( c_connStr ); conn.Open(); |
接続を開きます。
conn.Open(); |
INSERT 文を定義して実行する SACommand オブジェクトを追加します。
INSERT、UPDATE、または DELETE 文とともに ExecuteNonQuery メソッドを使用できます。
SACommand insertCmd = new SACommand( "INSERT INTO Departments( DepartmentID, DepartmentName ) VALUES( ?, ? )", conn ); |
ストアド・プロシージャを呼び出す場合は、ストアド・プロシージャのパラメータを指定してください。
詳細については、ストアド・プロシージャの使用とSAParameter クラスを参照してください。
SACommand オブジェクトのパラメータを設定します。
次のコードは、DepartmentID カラムと DepartmentName カラムそれぞれのパラメータを定義します。
SAParameter parm = new SAParameter(); parm.SADbType = SADbType.Integer; insertCmd.Parameters.Add( parm ); parm = new SAParameter(); parm.SADbType = SADbType.Char; insertCmd.Parameters.Add( parm ); |
新しい値を挿入し、ExecuteNonQuery メソッドを呼び出して、変更内容をデータベースに適用します。
insertCmd.Parameters[0].Value = 600; insertCmd.Parameters[1].Value = "Eastern Sales"; int recordsAffected = insertCmd.ExecuteNonQuery(); insertCmd.Parameters[0].Value = 700; insertCmd.Parameters[1].Value = "Western Sales"; recordsAffected = insertCmd.ExecuteNonQuery(); |
結果を表示し、これらを画面上のグリッドにバインドします。
SACommand selectCmd = new SACommand( "SELECT * FROM Departments", conn ); SADataReader dr = selectCmd.ExecuteReader(); System.Windows.Forms.DataGrid dataGrid; dataGrid = new System.Windows.Forms.DataGrid(); dataGrid.Location = new Point(10, 10); dataGrid.Size = new Size(275, 200); dataGrid.CaptionText = "iAnywhere SACommand Example"; this.Controls.Add(dataGrid); dataGrid.DataSource = dr; dataGrid.Show(); |
SADataReader オブジェクトと SAConnection オブジェクトを閉じます。
dr.Close(); conn.Close(); |
SAConnection オブジェクトを宣言して初期化します。
SAConnection conn = new SAConnection( c_connStr ); |
接続を開きます。
conn.Open(); |
UPDATE 文を定義して実行する SACommand オブジェクトを追加します。
INSERT、UPDATE、または DELETE 文とともに ExecuteNonQuery メソッドを使用できます。
SACommand updateCmd = new SACommand( "UPDATE Departments SET DepartmentName = 'Engineering' WHERE DepartmentID=100", conn ); |
ストアド・プロシージャを呼び出す場合は、ストアド・プロシージャのパラメータを指定してください。
詳細については、ストアド・プロシージャの使用とSAParameter クラスを参照してください。
ExecuteNonQuery メソッドを呼び出して、変更内容をデータベースに適用します。
int recordsAffected = updateCmd.ExecuteNonQuery(); |
結果を表示し、これらを画面上のグリッドにバインドします。
SACommand selectCmd = new SACommand( "SELECT * FROM Departments", conn ); SADataReader dr = selectCmd.ExecuteReader(); dataGrid.DataSource = dr; |
SADataReader オブジェクトと SAConnection オブジェクトを閉じます。
dr.Close(); conn.Close(); |
SAConnection オブジェクトを宣言して初期化します。
SAConnection conn = new SAConnection( c_connStr ); |
接続を開きます。
conn.Open(); |
DELETE 文を定義して実行する SACommand オブジェクトを作成します。
INSERT、UPDATE、または DELETE 文とともに ExecuteNonQuery メソッドを使用できます。
SACommand deleteCmd = new SACommand( "DELETE FROM Departments WHERE ( DepartmentID > 500 )", conn ); |
ストアド・プロシージャを呼び出す場合は、ストアド・プロシージャのパラメータを指定してください。
詳細については、ストアド・プロシージャの使用とSAParameter クラスを参照してください。
ExecuteNonQuery メソッドを呼び出して、変更内容をデータベースに適用します。
int recordsAffected = deleteCmd.ExecuteNonQuery(); |
SAConnection オブジェクトを閉じます。
conn.Close(); |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |