回 帖 发 新 帖 刷新版面

主题:语法错误 (操作符丢失) 在查询表达式 'id =' 中。

哪位好心的大哥帮帮忙看看下这个是怎么回事?

语法错误 (操作符丢失) 在查询表达式 'id =' 中。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Data.OleDb.OleDbException: 语法错误 (操作符丢失) 在查询表达式 'id =' 中。

源错误:


行 73:             conn.Open();
行 74:             OleDbCommand cmd=new OleDbCommand("update singer set piaoshu=piaoshu+1 where id ="+this.RadioButtonList1.SelectedValue,conn);
行 75:             cmd.ExecuteNonQuery();
行 76:             conn.Close();
行 77:             this.lblRtext.Text="投票成功!!!!";


源文件: c:\inetpub\wwwroot\test\voteindex.aspx.cs    行: 75

回复列表 (共10个回复)

沙发

当然错误,sql语句出错,应该是where id ='"+this.RadioButtonList1.SelectedValue+"' "  这里可以把this也去掉。
注意:""引入对象时连接字符串格式要正确。不过一般不这么用RadioButtonList1,它用于判断。
改成:
行 73:             conn.Open();
行 74:             OleDbCommand cmd=new OleDbCommand("update singer set piaoshu=piaoshu+1 where id ='"+this.RadioButtonList1.SelectedValue+"'",conn);
行 75:             cmd.ExecuteNonQuery();
行 76:             conn.Close();
行 77:             this.lblRtext.Text="投票成功!!!!";

板凳

当然错误,sql语句出错,应该是where id ='"+this.RadioButtonList1.SelectedValue+"' "  这里可以把this也去掉。
注意:""引入对象时连接字符串格式要正确。不过一般不这么用RadioButtonList1,它用于判断。
改成:
行 73:             conn.Open();
行 74:             OleDbCommand cmd=new OleDbCommand("update singer set piaoshu=piaoshu+1 where id ='"+this.RadioButtonList1.SelectedValue+"'",conn);
行 75:             cmd.ExecuteNonQuery();
行 76:             conn.Close();
行 77:             this.lblRtext.Text="投票成功!!!!";

3 楼

当然错误,sql语句出错,应该是where id ='"+this.RadioButtonList1.SelectedValue+"' "  这里可以把this也去掉。
注意:""引入对象时连接字符串格式要正确。不过一般不这么用RadioButtonList1,它用于判断。
改成:
行 73:             conn.Open();
行 74:             OleDbCommand cmd=new OleDbCommand("update singer set piaoshu=piaoshu+1 where id ='"+this.RadioButtonList1.SelectedValue+"'",conn);
行 75:             cmd.ExecuteNonQuery();
行 76:             conn.Close();
行 77:             this.lblRtext.Text="投票成功!!!!";

4 楼

当然错误,sql语句出错,应该是where id ='"+this.RadioButtonList1.SelectedValue+"' "  这里可以把this也去掉。
注意:""引入对象时连接字符串格式要正确。不过一般不这么用RadioButtonList1,它用于判断。
改成:
行 73:             conn.Open();
行 74:             OleDbCommand cmd=new OleDbCommand("update singer set piaoshu=piaoshu+1 where id ='"+this.RadioButtonList1.SelectedValue+"'",conn);
行 75:             cmd.ExecuteNonQuery();
行 76:             conn.Close();
行 77:             this.lblRtext.Text="投票成功!!!!";

5 楼

当然错误,sql语句出错,应该是where id ='"+this.RadioButtonList1.SelectedValue+"' "  这里可以把this也去掉。
注意:""引入对象时连接字符串格式要正确。不过一般不这么用RadioButtonList1,它用于判断。
改成:
行 73:             conn.Open();
行 74:             OleDbCommand cmd=new OleDbCommand("update singer set piaoshu=piaoshu+1 where id ='"+this.RadioButtonList1.SelectedValue+"'",conn);
行 75:             cmd.ExecuteNonQuery();
行 76:             conn.Close();
行 77:             this.lblRtext.Text="投票成功!!!!";

6 楼

厉害厉害~~~~谢谢了

7 楼

2楼你怎么知道ID就是字符型的呢?this也不见得就非得去掉阿

8 楼

7楼,正如你所说:编程的目的是解决问题,而不是使问题复杂化或是炫耀逻辑头脑的发达,我估计它的id产生错误是由于把字符型的id错误以整型处理,而且他本身的程序sql也不应该那样写,select a* from staff where id=123,这种方式在程序语言里面也要形成一个字符串,即使你不把id用''括起来,我并没有说非要把this去掉,我只是说当前指定的控件是不需要那么费事来用this指针指定。在c#里面你指定了当前页面的控件id就没有这种必要,可去可不去

9 楼

7楼,正如你所说:编程的目的是解决问题,而不是使问题复杂化或是炫耀逻辑头脑的发达,我估计它的id产生错误是由于把字符型的id错误以整型处理,而且他本身的程序sql也不应该那样写,select a* from staff where id=123,这种方式在程序语言里面也要形成一个字符串,即使你不把id用''括起来,我并没有说非要把this去掉,我只是说当前指定的控件是不需要那么费事来用this指针指定。在c#里面你指定了当前页面的控件id就没有这种必要,可去可不去

10 楼

错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] 语法错误 (操作符丢失) 在查询表达式 'bbs_id =' 中。
/book/content.asp, 第 59 行
哪为大哥帮我看下哪错了  
代码<%

set Command1 = Server.CreateObject("ADODB.Command")
Command1.ActiveConnection = MM_ping_STRING
Command1.CommandText = "UPDATE bbs  SET bbs_count = bbs_count + 1  WHERE bbs_id = " + Replace(Command1__cc, "'", "''") + " "
Command1.CommandType = 1
Command1.CommandTimeout = 0
Command1.Prepared = true
Command1.Execute()

我来回复

您尚未登录,请登录后再回复。点此登录或注册