在ASP中调用SQL时需要帮助

时间:2014-06-21 15:42:13

标签: sql vbscript asp-classic

您好我是ASP的新手,我正在尝试在我的页面中构建SQL。

 sSQL = "SELECT "
 sSQL = sSQL & " Message1,"
 sSQL = sSQL & " Message2"
 sSQL = sSQL & " FROM table1"
 sSQL = sSQL & " WHERE"
 sSQL = sSQL & " name = '" & customname & "'" 

Set serverobject = Server.CreateObject("ADODB.Recordset")
serverobject .Open sSQL, conn

message1 = serverobject ("Message1")
    message2 = serverobject ("Message2")

      response.Write message1
      response.Write message2

此处发生的是自定义名称是用户输入的名称,我正在与 table1 表格中的名称列进行比较。

如果匹配则一切正常,我得到了正确的结果。

但是如果自定义名称与名称不匹配,那么我收到此错误:

BOF或EOF为True,或者当前记录已被删除。请求的操作需要当前记录。

我知道如果我在调用查询时以某种方式检查null,如果它包含结果,那么我只能继续。有人可以帮助我,我怎样才能做到这一点。

1 个答案:

答案 0 :(得分:1)

在阅读recordset之前,您必须检查行,例如使用.eof

if (serverobject.eof) then
   ''// no matching rows
else
   message1 = serverobject("Message1")
   message2 = serverobject("Message2")
end if

同样,如果您不使用参数化语句,请不要忘记清除customname变量中的字符串。