我一直在通过它使用经典的 ASP 和数据库访问。我使用的数据库是 MySQL。ASP 页面在 IIS 7 上运行。我开发了两个 ASP 页面。首先,这是我正在使用的架构 -
书=(b_id,标题,页数,价格,p_id)
出版商 = ( p_id , 姓名, 国家)
Book 中的 p_id 是来自 Publisher 的外键。
现在,在一个脚本中,当在 Publisher 中添加记录时,我首先检查是否存在类似记录,如果存在则将其报告给用户。该脚本工作正常。
但是在其他要在 Book 中插入记录的脚本中,我首先检查指定的出版商是否存在。但由于某种原因,这根本行不通。也就是说,当我查询 Publisher 表以获取所有记录进行比较时,RecordSet 对象的 RecordCount 属性返回 -1。
我已经广泛检查了这两个脚本是否有错误,但都没有。
为什么相同目的的相同代码不能在一个中工作,而是在另一个中工作?
工作代码 -
flag = false
temprs.Open "select country from publisher where name='" & pubname & "'", conn
if temprs.RecordCount <> 0 then
do while not temprs.EOF
if temprs.fields("country") = pubcountry then
flag = true
exit do
end if
temprs.MoveNext
loop
end if
它进入上述代码中的循环。
而那行不通的代码 -
q = "select p_id from publisher where name='" & bookpub & "'"
prs.Open q, conn
pins = false
if prs.RecordCount > 0 then
pid = prs.fields("p_id")
pins = true
end if
在这里,prs.RecordCount 返回 -1。所有变量都已在代码的前面部分中调暗。