sql语句报错
string upsql = "insert into zhangmu (HBDate,SETime,Scity,Ecity,HBhao,Cw,DanJia,Jj,Ry,Rs)values('" + HBdate + "','" + SEtime + "','" + Scity + "','" + Ecity + "','" + hbh + "','" + Cw + "', '" + Dj + "','" + Jj + "','" + Ry + "','"+Rsh+"')";在此条语句中再加一个字段就报错,请问是什么原因? --------------------编程问答-------------------- 报什么错误?看语句不好看吧,不知道是数据表的设置还是程序问题 --------------------编程问答-------------------- 你表中有你家的那个字段吗?
蛋疼,看这么拼接sql --------------------编程问答-------------------- 就是,你表里没有那个字段,加进去肯定报错啥,编程还是多看数据库知识有好处的,呵呵 --------------------编程问答-------------------- values('"
这个单引号没有用双引号 --------------------编程问答-------------------- 把你加字段后的语句发出来,帮你看。、
还有,尽量学会用参数化命令去执行,你的写法不安全,容易被注入 --------------------编程问答-------------------- 这语句。。。eggs pain啊。。 --------------------编程问答-------------------- 要发现是否有错,最简单直接的方法就是在数据库执行下,这样比较好发现 --------------------编程问答-------------------- 建议楼主 先将插入语句 在SQL 查询分析器中 执行。保证可以执行后,再写成 拼接语句。 --------------------编程问答-------------------- 为什么还要加字段???? --------------------编程问答-------------------- 用占位符写最好,清楚明了,这样看着容易出错 --------------------编程问答-------------------- 同意楼上的
我就因为这样出过错
改成这种格式就好了
string cmdString=string.Format("INSERT INTO tabale (HBDate,SETime,Scity,Ecity,HBhao,Cw,DanJia,Jj,Ry,Rs) VALUES('{0}','{1}'...{9})",相应的值); --------------------编程问答--------------------
肯定不是这问题,单单看他拼接的sql语句,理论上是对的,没有语病!
有可能:
1. 你加的字段表中没有;
2. 字段名是关键字,这个加[]解决;
3. 内容含有单引号(')
你直接发你这个字符串太抽象了,看不出来什么问题,你还是发下你这表的结构、加了什么字段,输入了什么 --------------------编程问答-------------------- 设个断点 运行后按F11 运行到SQL语句的时候 点下面的放大镜 把SQL代码复制到 数据库 很容易就可以找出来了
我估计应该是你插入数据的时候 数据类型出错了
补充:.NET技术 , C#