C# 必须声明标量变量 问题

以上是一个函数的一部分publicstaticintExecuteNonQuery(stringsql,paramsSqlParameter[]parameters){/... 以上是一个函数的一部分
public static int ExecuteNonQuery(string sql, params SqlParameter[] parameters)
{

//建立与数据库的链接
// using (SqlConnection conn = new SqlConnection(conStr))
// {
// conn.Open();//打开链接
if (conn.State == ConnectionState.Closed)
{
conn.Open();
}
using (SqlCommand cmd = conn.CreateCommand())//表示要对 SQL Server 数据库执行的一个 Transact-SQL 语句或存储过程
{

cmd.CommandText = sql;
foreach (SqlParameter parameter in parameters)
{
cmd.Parameters.Add(parameter);
}
cmd.Parameters.Clear();
return cmd.ExecuteNonQuery();
}

// }
}
这是我编写的一个SQLHelper类中一个函数

这是报错的信息,以及我调试的一些信息。可以看到,参数是有值的。
实在找不到原因~~~求各位大神解答
那个SQLHelper函数应该是没问题的,之前做其他模块的时候,用过。只是现在准备改成不关闭的
展开
 我来答
阳光的雷咩咩
推荐于2016-11-24 · TA获得超过1.4万个赞
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:7652万
展开全部
先把 cmd.Parameters.Clear();与前面的foreach调换一下顺序再说。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式