求助 sql插入语句问题

s844876674 2011-12-08 02:39:15
关于一个数据库插入数据的问题
我的代码是:

cmd.CommandText = "insert into QlearningResultTable1(LearningStep,ProcessNums,LoseNums,ProcessingRate,AverageCost) values(" + stepNumSample + "," + processNumsample + "," + loseNumSample + "," + processRate + "," + aveCostSamples + ")";
cmd.ExecuteNonQuery();

运行后报错:
在此上下文中不允许使用名称 "非数字"。有效表达式包括常量、常量表达式和变量(在某些上下文中)。不允许使用列名。
其中,我插入的数据前3项都是int型,后2项是float类型
各位大神 给我分析下 错在哪了。。。
...全文
198 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
cmd.CommandText = "insert into QlearningResultTable1(LearningStep,ProcessNums,LoseNums,ProcessingRate,AverageCost) values(" + stepNumSample.ToString() + "," + processNumsample.ToString() + "," + loseNumSample.ToString() + "," + processRate.ToString() + "," + aveCostSamples.ToString() + ")";
  • 打赏
  • 举报
回复

cmd.CommandText = "insert into QlearningResultTable1(LearningStep,ProcessNums,LoseNums,ProcessingRate,AverageCost) values(" + stepNumSample.ToString() + "," + processNumsample.ToString() + "," + loseNumSample.ToString() + "," + processRate.ToString() + "," + aveCostSamples.ToString() + ")";

GorillazForthgoer 2011-12-08
  • 打赏
  • 举报
回复
你的变量定义的不正确
xixihaha_2011_098 2011-12-08
  • 打赏
  • 举报
回复
LearningStep,ProcessNums,LoseNums,ProcessingRate,AverageCost
这些字段是什么类型呀,如果不是数值型。使用单引号。
values('" + stepNumSample + "','" + processNumsample + "','" + loseNumSample + "','" + processRate + "','" + aveCostSamples + "')";
rui90102 2011-12-08
  • 打赏
  • 举报
回复
varchar 类型的外面要加 '',
比如’" + processNumsample + "‘
nicholas235 2011-12-08
  • 打赏
  • 举报
回复
你这样很容易注入啊,
最好是这样用:
"insert into table (a) values (@key)"
cmd.Parameters.Add(new SqlParameter("@key","Value"));
fhpu168 2011-12-08
  • 打赏
  • 举报
回复
('" + stepNumSample + "','" + processNumsample + "','" + loseNumSample + "','" + processRate + "','" + aveCostSamples + "')"

加个'
ayzen1988 2011-12-08
  • 打赏
  • 举报
回复
你的字段都不是數字類型

你的值都沒用 單引號 引起來


cmd.CommandText = "insert into table (a) values (' "+aValue+" ') ";
z_f_p 2011-12-08
  • 打赏
  • 举报
回复
调试,把监控的Sql语句放到数据执行,查看错误!!!
peng2739956 2011-12-08
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 woshisadshiwo 的回复:]

这个只能设断点,看下SQL语句中的变量都是不是正确的,可以将SQL语句放到数据库中去执行下,很容易找到错误的位置~
[/Quote]
+1
home_pc 2011-12-08
  • 打赏
  • 举报
回复
代码没有问题,你把拼接的sql语句取出来看一看正确不?
把这个语句直接用查询管理器运行以下看出现什么情况!
烟波钓 2011-12-08
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 findcaiyzh 的回复:]
你stepNumSample 等变量中有非数字的字符了,设置个断点,看看都是什么.
[/Quote]+
牧云 2011-12-08
  • 打赏
  • 举报
回复
这个只能设断点,看下SQL语句中的变量都是不是正确的,可以将SQL语句放到数据库中去执行下,很容易找到错误的位置~
  • 打赏
  • 举报
回复
请确保你传递 的值是否符合要求
宝_爸 2011-12-08
  • 打赏
  • 举报
回复
你stepNumSample 等变量中有非数字的字符了,设置个断点,看看都是什么.

684

社区成员

发帖
与我相关
我的任务
社区描述
智能路由器通常具有独立的操作系统,包括OpenWRT、eCos、VxWorks等,可以由用户自行安装各种应用,实现网络和设备的智能化管理。
linuxpython 技术论坛(原bbs)
社区管理员
  • 智能路由器社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧