を使用してコードからストアド プロシージャを呼び出していますSqlCommand
。一部のパラメーターはタイプです。Management Studio からプロシージャを呼び出すときは、たとえばDateTime
次の形式を使用し、それに応じて結果が返されます。yyyy-MM-dd
2011-01-01
私の C# コードではDateTime
、次のようなオブジェクトを作成しています。
DateTime dateFrom = new DateTime(2011,01,01);
アプリケーションを実行すると、日付は完全に無視され、すべてのデータが返されます。DateTime
それに応じてデバッグした後、オブジェクトの形式が次のようになっていることに気付きました{01/01/2011 00:00:00}
。おそらくこれが問題の原因です。
パラメータは次のSqlCommand
ように追加されています。
cmd.Parameters.AddWithValue("@DateFrom", SqlDbType.DateTime);
何かアイデアはありますか?
コードのコピー:
using (SqlConnection conn = new SqlConnection(connectionString))
{
DateTime dateFrom = new DateTime(2011,01,01);
DateTime dateTo = new DateTime(2011, 01, 31);
SqlCommand cmd = new SqlCommand(strStoredProcName, conn);
cmd.CommandType = System.Data.CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@DateFrom", SqlDbType.DateTime);
cmd.Parameters.AddWithValue("@DateTo", SqlDbType.DateTime);
cmd.Parameters["@DateFrom"].Value = dateFrom;
cmd.Parameters["@DateTo"].Value = dateTo;
}