2 obscure999 obscure999 于 2016.05.06 10:50 提问

C# 必须声明标量变量 "@stu_gradewhere 5C

代码和报错如下
DAL:///
//更新一条数据
///
public bool Update(Models.studentbm model)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("update student set ");
strSql.Append("stu_ID=@stu_ID,");
strSql.Append("stu_grade=@stu_grade,");
strSql.Append(" where stu_ID=@stu_ID");
SqlParameter[] parameters = {
new SqlParameter("@stu_ID", SqlDbType.VarChar,20),
new SqlParameter("@stu_grade", SqlDbType.VarChar,20)};

        parameters[0].Value = model.stu_ID;
        parameters[1].Value = model.stu_grade;
        int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
        if (rows > 0)
        {
            return true;
        }
        else
        {
            return false;
        }
      }

BLL:
public int adminlr(string stu_ID,string stu_grade)
{
DAL.adminlrcj cj = new DAL.adminlrcj();
Models.studentbm lr = new Models.studentbm();
bool strper = false;
lr = cj.Getstudent(stu_ID);
if (lr != null)
{
lr.stu_grade = stu_grade;
strper = cj.Update(lr);
}
if (strper)
{
return Int32.Parse(stu_ID);
}
else
{
return 0;
}
图片说明

2个回答

CSDNXIAON
CSDNXIAON   2016.05.06 11:02

必须声明标量变量 "@tempTable"
必须声明标量变量 "@ID"
关于 必须声明标量变量 "@pk_branch"
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

tianlang_2008
tianlang_2008   2016.05.06 15:49

strSql.Append("stu_grade=@stu_grade,");这里面多了个,号,你去掉试下

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
System.Data.SqlClient.SqlException: 必须声明变量 '@ImageUrl'。
唉,真的是老了,昨天碰到的一个问题解决了之后,今天又碰到时又忘了昨天是怎么解决的了,所以写一写博客,帮助记忆而已。 一、问题:编写插入数据到数据库代码时,出现这个问题:System.Data.SqlClient.SqlException: 必须声明变量 @ImageUrl。DAL代码大概是这样的:public int Insert(xxx.BOL.xxx bo)
Dapper 执行带参数的SQL语句时,报"必须声明标量变量@xxx"
最近在学习轻量级的ORM——Dapper,同时也在尝试着自己实现一些功能。 但是当尝试拼接Sql,在填入参数的时候出了一些问题。 以下是示例代码,首先是声明一个SqlCommand对象。 SqlCommand cmd = new SqlCommand(); //构建SQL语句
必须声明标量变量 "@a1"。
必须声明标量变量 "@a1"。,就是没有给SQL语句里面的@a1斌值,或者值是空的
sql语句执行中出现 “必须声明标量变量@id” 错误处理
strSelect1 = "SELECT isNull(totals,'1') as totals From news where id=@ID" conPubs = New SqlConnection("Server=10.2.21.203;UID=sa;PWD=;Database=czoa") cmdSql = New SqlCommand(strSelect1, conPubs) cmdSql.Parameters.Add("@ID", intID) conPubs.Open() cmdSql.ExecuteNonQuery()
必须声明标量变量 "@ID"
做毕业设计时候用到了GridView这个控件,但是删除数据的时候出现问题:必须声明标量变量 "@ID"解决办法如下:将改成DataKeyNames="ID" DataSourceID="SqlDataSource1">就可以了,也就是把ID定义为主键
如何解决报错为“ 必须声明标量变量 "@P0and" ”
今天遇到了一个报错为必须声明标量变量 "@P0and",刚开始看着很糟心,但是发现错误原因是:在sql语句中,使用preparestatement时?和and之间没有空格造成的。 错误现象类似下面: com.microsoft.sqlserver.jdbc.SQLServerException: 必须声明标量变量 "@P0and"。 at com.microsoft.sqlserver.jd
异常详细信息: System.Data.SqlClient.SqlException: 必须声明标量变量 "@MsgID"。
代码如下:             DataSourceID="SqlDataSource1">                                                                                                                 SortExpression="MsgCont
sqlserver 必须声明标量变量 "@id" 什么原因,如何解决 存储过程 带参数
sqlserver 必须声明标量变量 "@id"。 原因 set @sql = 'insert into stu(id,name) select top @id from stus‘  // 错误    解决办法 set @sql = 'insert into stu(id,name) select top '+CONVERT(char(3),@id) +'from stus‘  //
必须声明标量变量 "@tempTable"
MLGB 微软的sqlserver有一个BUG,在使用表变量进行修改时,他会提醒你: 必须声明标量变量 "@tempTable"。       首先 /*create table test ( id int identity(1,1), name varchar(10) ) insert into test select '222' union selec
sqlserver 调用存储过程时出现必须声明标量变量 "@ReturnMsg"的解决方法
因为项目需要写了一个存储过程,但是调用的时候却一直提示必须声明标量变量,然后将调用过成改造一下就好了,正确调用代码如下: BEGIN --将代码包围到begin end块中,要不然会提示必须声明标量变量 DECLARE @Updatetime1  varchar(50) = '2017-06-21 09:10:10'; DECLARE @Orgguid1  varchar(50)=