执行command.Prepare()时,我有" SqlCommand.Prepare方法要求所有参数都有一个明确设置的类型"错误

时间:2016-04-11 16:18:37

标签: stored-procedures prepared-statement

我有以下陈述:

SqlConnection con = new SqlConnection(ConfigurationManager.AppSettings["DataBaseName"]);
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandText = "update Table1 set data = @data where id = @id";
cmd.Parameters.AddWithValue("@data", SqlDbType.VarChar).Value =  data;
cmd.Parameters.AddWithValue("@id", SqlDbType.Int).Value =  id;
cmd.CommandType = CommandType.Text;

try
{
    DataSet ds = new DataSet();
    con.Open();
    cmd.Prepare();
    cmd.ExecuteNonQuery();
    return true;
}

执行cmd.Prepare()时出现错误SqlCommand.Prepare method requires all parameters to have an explicitly set type

我在这里阅读了一些答案,但看起来像我所描述的here 但仍有同样的问题。

我错过了什么?

0 个答案:

没有答案