sqlcommand

5132 ワード

SQL Serverデータベースに対して実行するTransact-SQL文またはきおくてつづき文を表します.このクラスを継承できません.
ネームスペース:System.Data.SqlClient
プログラムセット:System.Data(System.Data.dll)
C#:
public sealed class SqlCommand : DbCommand, ICloneable
SqlCommandのインスタンスを作成すると、読み取り/書き込みプロパティが初期値に設定されます.
CommandTextプロパティをリセットし、SqlCommandオブジェクトを繰り返し使用できます.ただし、新しいコマンドまたは以前のコマンドを実行する前に、SqlDataReaderを閉じる必要があります.SqlCommandメソッドを実行してSqlExceptionを生成する場合、重大度レベルが19以下の場合、SqlConnectionは開いたままになります.重大度レベルが20以上の場合、サーバは通常SqlConnectionを閉じます.ただし、ユーザーは接続を再開して続行できます.
 
string str = "server='(local)';database='mytable';uid='sa';pwd='sa'";
SqlConnection con = new SqlConnection(str);//接続オブジェクトの作成
con.Open();//接続を開く
ここでstrはデータ接続文字列であり、接続オブジェクトを初期化し、データベースへの接続方法を説明するために使用され、データベース接続が完了すると、Openメソッドを使用してデータ接続を開くことができます.データベース接続が完了したら、次のように新しいCommandオブジェクトを作成します.
SqlCommand cmd=new SqlCommand("insert into mynews value('新しいデータを挿入")、con);
Commandオブジェクトのコンストラクタのパラメータは、実行するSQL文とデータベース接続オブジェクトの2つです.Commandオブジェクトを作成すると、SQLコマンドを実行できます.実行後に完了し、データ接続を閉じます.サンプルコードは次のとおりです.
cmd.ExecuteNonQuery();//SQLコマンドの実行
con.Close();//接続を閉じる
 
≪インスタンス|Instance|emdw≫
  
 
private static void ReadOrderData(string connectionString)
{ //    Sql  
string queryString ="SELECT OrderID, CustomerID FROM dbo.Orders;";
using (SqlConnection connection = new SqlConnection( connectionString))
{
SqlCommand command = new SqlCommand( queryString, connection); connection.Open();
SqlDataReader reader = command.ExecuteReader();
try
{
while (reader.Read())
{
Console.WriteLine(String.Format("{0}, {1}", reader[0], reader[1]));
}
}
finally
{
// Always call Close when done reading.
reader.Close();
}
}
}

 
 
クラスのプロパティ
1.CommandText
データ・ソースに対して実行するTransact-SQL文またはストアド・プロシージャを取得または設定します.[1]
2. CommandType
CommandTextプロパティの解釈方法を示す値を取得または設定します.
3.Connection
SqlCommandのインスタンスで使用するSqlConnectionを取得または設定します.
4.CommandTimeOut
コマンドの実行を終了し、エラーを生成するまでの待機時間を取得または設定します.
コマンドの実行を待つ時間(秒単位).プリセット値は[230秒]です.
このセクションの編集クラスのメソッド
1.ExecuteNonQuery();
戻り値タイプはint型です.多くは、追加、削除、データの変更を実行するために使用されます.影響を受けるローの数を返します.
2.ExecuteReader();
その戻りタイプはSqlDataReaderです.このメソッドは、ユーザーが行うクエリー操作に使用します.SqlDataReaderオブジェクトのRead()を使用します.メソッドは行単位の読み取りを行います.
例:
SqlCommand comm =new SqlCommand("select * from CGSZ where cid="+id,conn);
SqlDataReader reder=comm.ExecuteReader();
while(reder.Read())
{
//コンテンツ列の読み出し
string str=reder["cname"].ToString();
//分類列の読み込み
string str1=reder["ckind"].ToString();
//テキストボックスデータのロード
this.txtContent.Text = str;
this.txtClass.Text = str1;
}
その中のデータ列を読み取るとき.reder["列名"]を使用する以外は.ToString();reder[インデックス]を使用することもできる.ToSting();<注:ここでのインデックスとは、データベース内のカラムのインデックスです.0から開始します.>
3.ExecuteScalar();
その戻り値タイプはintタイプが多い.selectクエリを実行するために返されることが多い.得られた戻り結果が1つの値である場合,count関数を用いてテーブルに個数を求めたりsum関数を用いて和を求めたりする.[3]