您的位置:程序门 -> .net技术 -> c#



一段简单的代码出错了,请各位大侠指点一下!


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


一段简单的代码出错了,请各位大侠指点一下![已结贴,结贴人:mohuai]
发表于:2007-09-07 21:46:59 楼主
sqlconnection   con=db.createconnection();
con.open();
sqlcommand   cmd=new   sqlcommand();
cmd.connection=con;
cmd.commandtext= "update   votejuti   set   votenum=votenum+1   where   voteid= "+voteid+ "and   votejutid= "+this.rbtnlist1.selectedvalue.tostring();
cmd.EXECutenonquery();
con.close();


"update   votejuti   set   votenum=votenum+1   where   voteid= "这是一对引号,
+voteid+中间这个是我自己定义的一个string变量,初始值=1
"and   votejutid= "这是一对引号
+this.rbtnlist1.selectedvalue.tostring();这个是一个单选列表框被选择的值

就这么简单,不过俺是菜鸟,看不出来哪里出错了,请各位大侠不吝赐教,不胜感激哦!!谢谢谢谢!
发表于:2007-09-07 21:59:471楼 得分:0
编译器怎么提示的?
发表于:2007-09-07 22:01:332楼 得分:2
你的错误提示是什么?
有可能是
voteid= "+voteid+ "and   votejutid= "

这里面的and的前面少了空格
另外你的where的几个条件都是数字吧
发表于:2007-09-07 22:04:163楼 得分:0
还有,看你的语句
votejutid应该是number或者int
如果this.rbtnlist1.selectedvalue是非数字,那也会出错
发表于:2007-09-07 22:28:264楼 得分:0
编译器说“=”附近有语法的错误,votejutid是数字     this.rbtnlist1.selectedvalue也是数字
发表于:2007-09-07 22:34:275楼 得分:0
那应该是and前面少了空格了,至少你贴的代码里是没有空格的
发表于:2007-09-07 22:35:196楼 得分:0
and   前后都别忘了留个空格
发表于:2007-09-07 22:54:167楼 得分:0
哈哈,楼上的已经说了。我来晚了。
发表于:2007-09-07 22:56:048楼 得分:0
不用空格也可以吧。
发表于:2007-09-07 23:05:049楼 得分:0
那我再试试看吧,谢谢各位大侠的指点哦!
发表于:2007-09-07 23:09:3910楼 得分:0
各位大侠,我试过了,结果还是一样,怎么办??
发表于:2007-09-07 23:24:0111楼 得分:0
那就看看数据库里voteid和votejutid倒底是什么类型的
发表于:2007-09-07 23:27:0312楼 得分:0
都是int类型的,怎样,错了吗??
发表于:2007-09-07 23:29:1113楼 得分:0
我把项目打包,你能帮我看看么?
发表于:2007-09-07 23:32:1814楼 得分:0
你可以分步调试
第一步把where全去掉,看看能执行吗?
执行,加第一个条件,然后再加第二个条件,这样应该能判断出问题出在哪
发表于:2007-09-07 23:35:5915楼 得分:0
你先把这句update在sql里执行下,如果可以执行的话,那就是你两个变量里出现了非数字了
你用debug跟踪到cmd.EXECutenonquery();这句停下,看看cmd.commandtext里面的值,可以的话,贴上来看看
发表于:2007-09-07 23:37:2016楼 得分:0
好的
发表于:2007-09-07 23:43:5817楼 得分:0
数据库里面用这句执行了一下,update   votejuti   set   votenum=votenum+1   where   voteid=1   and   votejutid=1   是可以的。不知道哪里出错了,真烦啊!
发表于:2007-09-07 23:50:0318楼 得分:0
+ "and   votejutid= "

笨,你的   and前面要加一个空格.........
发表于:2007-09-07 23:51:2719楼 得分:0
update   votejuti   set   votenum=votenum+1   where   voteid= "+voteid+ "and   .....
如果这时候voteid是 "1 "
这个语句不是
update   votejuti   set   votenum=votenum+1   where   voteid=1   and   votejutid=1
而是如下:
update   votejuti   set   votenum=votenum+1   where   voteid=1and   votejutid=1
发表于:2007-09-07 23:52:0920楼 得分:0
= "update   votejuti   set   votenum=votenum+1   where   voteid= "+voteid+ "     and   ..........
发表于:2007-09-08 00:01:4921楼 得分:0
经排除调试,是这句不能执行votejutid= "+this.rbtnlist1.selectedvalue.tostring();

请问大侠该怎么改??
发表于:2007-09-08 00:19:3022楼 得分:0
你跟踪到这句,看看this.rbtnlist1.selectedvalue.tostring();取出来的值是多少?
发表于:2007-09-08 00:33:3623楼 得分:0
是this.rbtnlist1.selectedvalue.tostring();这句错了,我用打印这句话的值打不出来,现在就是不知道该怎么改了。
发表于:2007-09-08 00:42:0624楼 得分:0
你用this.rbtnlist1.selectedvalue.trim()试试
可能你那里面有空格之类的吧,或者你把你rbtnlist1所有的value贴出来看看,肯定有个非数字
发表于:2007-09-08 01:10:1625楼 得分:0
94少了空格。
发表于:2007-09-08 08:42:4826楼 得分:0
各位大侠,昨天晚上那段代码出错的原因我已经找到了,其实代码本身并没有错,只是在page_load中少了判断时候第一次加载,即if(!ispostback),所以运行的时候出错。

谢谢大侠们的指点!谢谢谢谢!
发表于:2007-09-08 09:49:0727楼 得分:0
貌似没什么问题,等号后加空格
发表于:2007-09-08 10:15:3028楼 得分:0
解决了怎么也不给人家分啊.
发表于:2007-09-08 18:50:3929楼 得分:0
我不知道怎么给分哦??俺是菜鸟,不知道怎么给哦?教教我!谢谢


快速检索

最新资讯
热门点击