注册 登录
编程论坛 SQL Server论坛

sql 联合查询代码错在哪里?

lihb1997 发布于 2010-12-25 21:35, 620 次点击
一下我写的联合查询代码,运行后总是提示:
 “Microsoft JET Database Engine 错误 '80040e14'
语法错误 (操作符丢失) 在查询表达式 'txtMobile = '1390633' inner join yzbm on sjbook.txtCity = yzbm.txtCity' 中。”
可是,我不知道错在哪里,请大师们帮帮我查错。
查询代码如下:
<%
 Dim sid,sql,rs,rs2
  '读取参数sid
  sid = Request.QueryString("sjcode")
  Set rs = Server.CreateObject("ADODB.RecordSet")
  '读取查询信息
  sql = "Select * From sjbook Where txtMobile = '"&sid&"' inner join yzbm on sjbook.txtCity = yzbm.txtCity"
  Set rs = Conn.Execute(sql)
  if not rs.eof or not rs.bof then
  Do While Not rs.EOF
%>
3 回复
#2
qingshuiliu2010-12-26 09:59
sql = "Select * From sjbook Where txtMobile = '"&sid&"' inner join yzbm on sjbook.txtCity = yzbm.txtCity"
改为 sql = "Select * From sjbook Where txtMobile ="+"''&sid&''"+" inner join yzbm on sjbook.txtCity = yzbm.txtCity"
你在试试,字符串拼的问题。
#3
lihb19972010-12-26 14:00
还是不行,提示如下:
Microsoft JET Database Engine 错误 '80040e14'

语法错误 (操作符丢失) 在查询表达式 'txtMobile =''&sid&'' inner join yzbm on sjbook.txtCity = yzbm.txtCity' 中
#4
lihb19972010-12-26 18:23
我用sql = "Select sjbook.txtMobile,sjbook.txtCity,sjbook.txtAreaCode,sjbook.txtCard,yzbm.txtyzbm From sjbook left join yzbm on sjbook.txtCity = yzbm.txtCity Where txtMobile = '"&sid&"'"已经解决了联合查询问题,但问题又来了。只要一打开该网页,还没有输入任何查询信息,就执行了<% Else Response.Write("对不起,未查到任何信息!")%>。请问如何控制查询?即不输入信息不执行查询代码?
1