如何用ASP代码提示 SQL 语句错误?

用户在“改良的5-01.asp”文件中的文本框输入SQL语句,然后在页面上用表格显示出相关记录。在此,有person.mdb文件同该asp页面放在同个目录中。所以连接数据... 用户在“改良的5-01.asp”文件中的文本框输入SQL语句,然后在页面上用表格显示出相关记录。在此,有person.mdb文件同该asp页面放在同个目录中。所以连接数据库的代码没错。
现在的问题是,如果用户输入正确的SQL语句,用表格来显示出相关记录;如果用户在文本框中没有输入语句,直接点击“执行”按钮,就提示“请输入SQL语句”;这两者都实现的。不能实现的是:如果用户输入的SQL语句书写格式错误,则提示“您输入了错误的SQL语句,请重新输入”。请问如何解决?该ASP页面的相关代码如下:

<HTML><BODY>
<%
On Error Resume Next '发生错误后,继续执行下一句
If Request("SQL") <>"" Then
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open("driver={Microsoft Access Driver (*.mdb)};dbq=" &_
Server.MapPath("person.mdb")) '该数据库不存在
sql = Request("SQL")
set rs = conn.Execute(sql)

if not conn.error.count > 0 then
rstotab(rs)
conn.close()
else
Response.Write("您输入了错误的SQL语句,请重新输入")
conn.close()
end if
else '如果用户没有在文本框中输入任何内容
Response.Write("<script Language=Javascript>alert('请输入 SQL 语句');</script>")
End If
%>
<%
Function rstotab(rs)
Response.write ("<TABLE BORDER=1>")
Response.write ("<TR>")
' Part I�输出"表头名称"�
For i=0 to rs.Fields.Count-1
Response.Write("<TD><B>" & rs(i).Name & "</B></FONT></TD>")
Next
Response.write ("</TR>")

' Part II�输出数据表的"内容"�
rs.MoveFirst() ' 将目前的数据记录移到第一项
While Not rs.EOF ' 判断是否过了最后一项
Row = "<TR ALIGN=MIDDLE>"
For i=0 to rs.Fields.Count-1
Row = Row & "<TD>" & rs(i) & "</TD>"
Next
Response.Write(Row & "</TR>")
rs.MoveNext() ' 移到下一项
Wend
End Function
%>
</TABLE>
<FORM Action="改良的5-01.asp" Method=POST>
指令:<INPUT Type="Text" Name="SQL" Size ="60" Value="<%=Request("SQL")%>"><P>
<INPUT Type=Submit Value=" 执行">
</FORM>
</BODY> </HTML>
展开
 我来答
sock2008
2006-11-22 · 超过12用户采纳过TA的回答
知道答主
回答量:62
采纳率:0%
帮助的人:0
展开全部
sql = Request("SQL")
set rs = conn.Execute(sql)
If Err.Number <> 0 Then Response.Write "SQL 查询错误"

判断错误号,如果不等于0就出错
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式