C#でストアドプロシージャを使用して、SQL Serverテーブルからデータを取得したいとします。私はパラメータとして渡す予定のIDで都市を印刷したいが、C#のストアドプロシージャのようなパラメータを使用する正しい構文は分からない。C#:どのようにSQL Serverのストアドプロシージャのパラメータを使用するには?
これは私が使用しているC#のコードです:
string connString = ConfigurationManager.ConnectionStrings["MyConnString"].ConnectionString;
using (SqlConnection conn = new SqlConnection(connString))
{
conn.Open();
SqlCommand command = new SqlCommand("SP_GetCityByID where id = 2", conn);
command.CommandType = CommandType.StoredProcedure;
SqlParameter param = command.Parameters.Add("@ID", SqlDbType.Int);
param.Direction = ParameterDirection.Input;
command.ExecuteNonQuery();
Console.WriteLine(param.Value);
}
サイドノートを:あなたは** **あなたのストアドプロシージャのための 'sp_'接頭辞を使用しないでください。マイクロソフトは、[*ストアドプロシージャの名前付け*を参照してください](http://msdn.microsoft.com/en-us/library/ms190669%28v=sql.105%29.aspx)、およびあなたはいつか名前衝突のリスクを将来実行します。 [ストアドプロシージャのパフォーマンスにも悪い](http://www.sqlperformance.com/2012/10/t-sql-queries/sp_prefix)単に 'sp_'を避け、他の何かを接頭辞として使うのが最善です。 –