C#运行SQL参数化查询 - 未提供参数

时间:2014-02-13 17:19:13

标签: c# sql

我有一个c#应用程序。我正在尝试运行参数化查询,请参阅下文。但是我一直收到错误消息

  

“参数化查询”(@dtStart日期)SELECT * FROM   D_CORPACTIONS_MSCI WHERE [date_effe'期望参数'@dtStart',   这是没有提供的。“

我不明白为什么它告诉我这个?

DateTime dtStart = dtPrev;

using (_connection = new SqlConnection(_connectionString))
{
     _connection.Open();
     string cmdText = "SELECT * FROM D_CORPACTIONS_MSCI " + 
                      "WHERE [date_effective] >= @dtStart " +
                      "AND [ca_status] ='" + caStatus + "'";

     _command = new SqlCommand(cmdText, _connection);
     _command.Parameters.Add("@dtStart", SqlDbType.Date);

1 个答案:

答案 0 :(得分:1)

而不是Parameters.Add尝试Parameters.AddWithValue

 _command.Parameters.AddWithValue("@dtStart", dtStart);

或者为参数赋值:

 _command.Parameters.Add("@dtStart", SqlDbType.Date).Value = dtStart;