在我正在处理的经典ASP网站中,我需要获取当前网站所有者的ID,以便将Excel中的电子邮件列表导出到该用户。我在SQL行上遇到了主题中提到的错误。我无论如何都无法获得身份证。当我输入一个与数据库中的ID相对应的数字时,数据被拉得很好。我不知道在WHERE ID =
完成这项工作后要放什么
<%
Set rs = Server.CreateObject("ADODB.RecordSet")
SQL = "SELECT ID, storeNumber, siteOwner FROM OrderOwners WHERE ID = " & rs("ID")
rs.Open SQL, conn, AdOpenStatic, AdLockPessimistic
If NOT rs.EOF then
%>
<textbox value="<% = rs("ID") %>"><% = rs("storeNumber") & " - " & rs("siteOwner") %></textbox>
<%
End If
rs.Close
Set rs = Nothing
conn.Close
Set conn = Nothing
%>
我不确定该怎么做,因为我通常不会在经典的asp中工作,这个网站很久很久以前都写过了。
当我在SQL Server中使用该SQL语句并将rs(“ID”)替换为“1”时,该语句运行正常。有谁可以帮助我吗?我找不到任何似乎有帮助的东西。
更新SQL TO
SQL = "SELECT ID, storeNumber, siteOwner FROM OrderOwners WHERE ID = ?
但现在我有错误
[Microsoft][ODBC SQL Server Driver]COUNT field incorrect or syntax error
在第19行
rs.Open SQL, conn, AdOpenStatic, AdLockPessimistic
答案 0 :(得分:5)
这些行不起作用:
Set rs = Server.CreateObject("ADODB.RecordSet")
SQL = "SELECT ID, storeNumber, siteOwner FROM OrderOwners WHERE ID = " & rs("ID")
这些行失败了,因为您刚刚通过在其上方的行中设置rs("ID")
来清除rs
。
您需要将尝试检索信息的ID传递给SQL查询。如果这是一个公共站点,请小心,就像您通过查询字符串传递ID一样,您可能容易受到SQL注入攻击。