为什么总是出现错误

QuickPai 2008-11-01 06:36:35
代码:
<!-- #include file="conn.asp" -->
<!-- #include file="top.asp" -->
<%
'取得记录标识
cl=Request.QueryString("class")
no=Request.QueryString("no")
Set rs=Server.CreateObject("ADODB.RecordSet")
sql="Select * From t_student Where d_class=" & cl & " and d_no=" & no & ""
rs.Open sql,conn,1,3
'修改记录值
if not rs.eof then
rs("d_class")=Trim(request.form("class"))
rs("d_no")=Trim(request.form("no"))
rs("d_name")=Trim(request.form("username"))
rs("d_sex")=Trim(request.form("sex"))
rs("d_birthday")=Trim(request.form("birthday"))
rs("d_phone")=Trim(request.form("phone"))
rs("d_address")=Trim(request.form("address"))
rs("d_dw")=Trim(request.form("dw"))
rs("d_email")=Trim(request.form("email"))
rs("d_memo")=Trim(request.form("memo"))
'执行更新操作
rs.Update
end if
%>


出错:
错误类型:
Microsoft OLE DB Provider for SQL Server (0x80040E14)
在关键字 'and' 附近有语法错误。
/modify.asp, 第 9 行


浏览器类型:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; TencentTraveler 4.0)

网页:
GET /modify.asp

请问是为什么?
帮我改改,谢谢!
...全文
93 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
Azz1 2008-11-02
  • 打赏
  • 举报
回复

sql="Select * From t_student Where d_class=" & cl & " and d_no=" & no & ""
改为
sql="Select * From t_student Where d_class='" & cl & "' and d_no='" & no & "'"
试试
QuickPai 2008-11-02
  • 打赏
  • 举报
回复
我自己下午找到原因了
是因为我用的是QueryString来传递值
所以form中的method必须用get
而我先前用的是post
所以不好意思
但是还是谢谢大家的帮助
谢谢!
Awen_Q 2008-11-02
  • 打赏
  • 举报
回复
如果是值是字符串类型的要记住加单引号啊
menjianguo 2008-11-02
  • 打赏
  • 举报
回复
既然可以在数据库查询分析器里运行(这个问题我也遇到过),
那说明就是sql语句中''和"" 用法错误。
答案已经出来了,自己在看着改一下吧!
祝你好运!
QuickPai 2008-11-02
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 Azz1 的回复:]

sql="Select * From t_student Where d_class=" & cl & " and d_no=" & no & ""
改为
sql="Select * From t_student Where d_class='" & cl & "' and d_no='" & no & "'"
试试
[/Quote]
要是这样的话,是没有错误
但是用response.write(sql)输出的是:Select * From t_student Where d_class='' and d_no=''
EricPan2023 2008-11-01
  • 打赏
  • 举报
回复
在Modify处打印出来的查询语句复制看看,
或尝试在输出的<a>标签中先不向参数预加入单引号,等到Modify页面接收后,再向查询语句中加入单号.
QuickPai 2008-11-01
  • 打赏
  • 举报
回复
我都已经在数据库查询分析器里运行了
sql语句对的
可是一运行就错误
下面是cl和no:
Response.Write"<td><a href=update.asp?class='"&trim(rs("d_class"))&"'"&chr(38)&"no='"&trim(rs("d_no"))&"'>修改</a></td>"
d_class和d_no是数据库里的字段名,分别代表班级和学号,char(5)和char(2)
然后在这里就用querystring传递的
已经查过了 不是sql语句的原因
冷月孤峰 2008-11-01
  • 打赏
  • 举报
回复
楼主应该发到ASP板块去。

在关键字 'and' 附近有语法错误。
已经告诉你了,是SQL语句有问题
Liu_Qiang 2008-11-01
  • 打赏
  • 举报
回复
cl 你检查一下这个变量的值。

把sql语句打印出来,看看SQL语句哪边报错的

萤火架构 2008-11-01
  • 打赏
  • 举报
回复
SQL语句不正确,可能存在的问题:
1、使用了SQL关键字
2、构造SQL的字符串含有可能导致SQL不能解析的字符
还想懒够 2008-11-01
  • 打赏
  • 举报
回复
你的SQL语句错了,检查cl和no

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧