【发布时间】:2012-08-23 19:40:03
【问题描述】:
我有一个示例代码
aCommand.CommandType = CommandType.StoredProcedure;
aCommand.Parameters.AddWithValue("@book_id", bookID);
aCommand.Parameters.AddWithValue("@user_id", userID);
然后我想使用CommandText 执行一个简单的查询:
aCommand.CommandText = "SELECT * FROM aTABLE";
aCommand.ExecuteNonQuery();
但出现错误:
异常:找不到存储过程“SELECT * FROM aTABLE”
在这种情况下,我必须创建一个 SqlCommand 对象的新实例?
这是一种使用相同的SqlCommand 对象来避免创建一个的方法?
【问题讨论】:
-
在尝试执行查询之前,您必须将命令类型更改回文本。
-
"在这种情况下,我必须创建一个新的 SqlCommand 对象实例吗?" 我建议这样做以避免这种混淆。创建
SqlCommand并不昂贵,以至于您需要重复使用它。实际上构造函数只是设置属性而已。 -
不确定,但我认为您也应该致电
aCommand.Parameters.Clear();
标签: c# .net sql-server asp.net-mvc-3 tsql