主题:语法错误 (操作符丢失) 在查询表达式 'id =' 中。
smallfox
[专家分:0] 发布于 2005-11-01 10:51:00
哪位好心的大哥帮帮忙看看下这个是怎么回事?
语法错误 (操作符丢失) 在查询表达式 '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个回复)
沙发
williambolice [专家分:470] 发布于 2005-11-02 00:21:00
当然错误,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="投票成功!!!!";
板凳
williambolice [专家分:470] 发布于 2005-11-02 00:22:00
当然错误,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 楼
williambolice [专家分:470] 发布于 2005-11-02 00:22:00
当然错误,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 楼
williambolice [专家分:470] 发布于 2005-11-02 00:22:00
当然错误,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 楼
williambolice [专家分:470] 发布于 2005-11-02 00:22:00
当然错误,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 楼
smallfox [专家分:0] 发布于 2005-11-08 17:29:00
厉害厉害~~~~谢谢了
7 楼
ryowu [专家分:6470] 发布于 2005-11-08 18:10:00
2楼你怎么知道ID就是字符型的呢?this也不见得就非得去掉阿
8 楼
williambolice [专家分:470] 发布于 2005-11-08 23:02:00
7楼,正如你所说:编程的目的是解决问题,而不是使问题复杂化或是炫耀逻辑头脑的发达,我估计它的id产生错误是由于把字符型的id错误以整型处理,而且他本身的程序sql也不应该那样写,select a* from staff where id=123,这种方式在程序语言里面也要形成一个字符串,即使你不把id用''括起来,我并没有说非要把this去掉,我只是说当前指定的控件是不需要那么费事来用this指针指定。在c#里面你指定了当前页面的控件id就没有这种必要,可去可不去
9 楼
williambolice [专家分:470] 发布于 2005-11-08 23:02:00
7楼,正如你所说:编程的目的是解决问题,而不是使问题复杂化或是炫耀逻辑头脑的发达,我估计它的id产生错误是由于把字符型的id错误以整型处理,而且他本身的程序sql也不应该那样写,select a* from staff where id=123,这种方式在程序语言里面也要形成一个字符串,即使你不把id用''括起来,我并没有说非要把this去掉,我只是说当前指定的控件是不需要那么费事来用this指针指定。在c#里面你指定了当前页面的控件id就没有这种必要,可去可不去
10 楼
shuaishuai1 [专家分:0] 发布于 2007-07-28 00:27:00
错误类型:
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()
我来回复