sql-【问题】其他信息: 必须声明标量变量 "@XXX"...

问题描述

【问题】其他信息: 必须声明标量变量 "@XXX"...

using Model;
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Utility;

namespace DAL
{
public class CommodityDAL
{
public bool EditCM(CommodityModel cm)
{
string sql = @"insert into Commodity(CommodityName, SortID, CommodityPrice, IsDiscount, ReducedPrice) values(@Name,@ID,@Price,@Discount,@RPrice)";
SqlParameter[] ps = {
new SqlParameter("@Name",cm.CommodityName),
new SqlParameter("@ID",cm.SortID),
new SqlParameter("@Price",cm.CommodityPrice),
new SqlParameter("@Discount",cm.IsDiscount),
new SqlParameter("@RPrice",cm.ReducePrice)
};

        return SqlHelper.ExecuteNonQuery(sql) > 0;
    }

}

}

发生异常:
“System.Data.SqlClient.SqlException”类型的未经处理的异常在 System.Data.dll 中发生

其他信息: 必须声明标量变量 "@Name"。

请问给位大神,这是怎么回事?断点查看
cm.CommodityName
cm.SortID
cm.CommodityPrice
cm.IsDiscount
cm.ReducePrice
都有相应的值!
为什么就传不进去呢?

解决方案

string sql = @"insert into Commodity(CommodityName, SortID, CommodityPrice, IsDiscount, ReducedPrice) values(@Name,@ID,@Price,@Discount,@RPrice)";

去掉字符串前面的@符号

时间: 2022-12-05

sql-【问题】其他信息: 必须声明标量变量 "@XXX"...的相关文章

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

问题描述 C# 必须声明标量变量 "@stu_gradewhere 5C 代码和报错如下 DAL:/// //更新一条数据 /// public bool Update(Models.studentbm model) { StringBuilder strSql = new StringBuilder(); strSql.Append(""update student set ""); strSql.Append(""stu_ID=@s

VS2008+SQL2005+C#: 必须声明标量变量 "@stuname"

问题描述 usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Data;usingSystem.Data.SqlClient;namespaceConsoleApplication15{classProgram{staticprivatestringGetConnecionString(){return"DataSource=.\SQLEXPRESS;AttachDbF

必须声明标量变量 "@"

问题描述 @后面没有字下面是代码请问什么问题很简单的代码我怎么都找不出问题前端页面TongjiBLLTongjiBLL=newTongjiBLL();Model.TongjiTongji=newModel.Tongji();Tongji.t_date=System.DateTime.Now.ToString();Tongji.t_liuchu=0;Tongji.t_liuru=M;Tongji.t_rzhuce=0;Tongji.t_tzhuce=0;Tongji.t_shenqinge=0;T

PL/SQL块定义部分之一标量类型

定义部分主要定义变量和常量,语法如下: DECLARE virableName [CONSTANT] dataType [NOT NULL][:=|default exp or value]; 在给变量或者常量命名时应该遵循以下原则: 1.变量名只能字母开头,其它位可以包含_.$.#和数字 2.长度1-30 3.不区分大小写 4.不能是系统关键字 CONSTANT关键字表示定义常量,常量定义时必须给出初始值,而且值不能再更改. dataType处是数据类型,要注意此处的数据类型是PL/SQL数据

SQL Server如何定位自定义标量函数被那个SQL调用次数最多浅析

前阵子遇到一个很是棘手的问题,监控系统DPA发现某个自定义标量函数被调用的次数非常高,高到一个离谱的程度.然后在Troubleshooting这个问题的时候,确实遇到了一些问题让我很是纠结,下文是解决问题过程的一点思索和尝试,如果你有更好的思路和解决方法,也请多多指教.   DPA可以监控到该函数每小时被调用的次数,如下截图所示:     那么第一个问题来了. DPA如何监控获取这个函数每小时执行多少次呢? 其实这个很简单, sys.dm_exec_query_stats视图里面有个字段exec

上面不用参数时不出错,但是用参数时,就提示错误 “必须声明表变量”

问题描述 PublicFunctionExecSelect(ByValcmdTextAsString,ByValcmdTypeAsCommandType,ByValparasAsSqlParameter())AsDataTableDimsqlAdapterAsSqlDataAdapterDimdtAsNewDataTableDimdsAsNewDataSet'还是给cmd赋值cmd.CommandText=cmdTextcmd.CommandText="SELECTCount(对方账号)AS次数

string Name;是字段声明还是变量声明,有什么区别?

问题描述 string Name;是字段声明还是变量声明,有什么区别? string Name;是字段声明还是变量声明,有什么区别?string Name;是字段声明还是变量声明,有什么区别? 解决方案 说明:我是在出现刷新后 下失效的 解决方案二: 变量代表一个存储位置,每个变量都有一个类型,该类型决定什么值可以存储在变量中|||而字段是声明在类或结构中的变量,它属于类或结构的成员, 解决方案三: 这需要看你写在哪了,在类或者结构里就叫字段,在函数体里就叫变量 解决方案四: 如果是字段的话要加

C#基础(三)(变量的声明,变量的作用域以及常量)

从这一节开始,我们开始复习C#基础知识,涉及变量声明,变量的初始化,作用域,C#的预定义数据 类型,C#中的循环和条件语句,枚举,命名空间,Main()方法,C#标识符和关键字,C#编码的规范和约定 ,等等. 首先,我们还是从非常经典的"Hello word !"开始. 我们新建一个.txt文件,并且更改为 test.cs .然后键入以下内容. using System; namespace gosoa.com { class MyFirstClass { static void Ma

SP2-0552: 未声明绑定变量 "MI"。

问题描述 SP2-0552: 未声明绑定变量 "MI". 错误如图 求解qwq 解决方案 先看看你用什么数据库: 日期转换格式要使用引号吧.日期转换 to_timestamp('2016-05-24 17:09:54', 'YYYY-MM-DD HH24:MI:SS')这样才对.