在WINDOWS2003 下安装了SQL2000server 补丁SP3。IIS6,asp访问正常。数据库连接正常,数据库在查询分析器里面执行语句得不到正确的结果。
但是,在ASP语句中,有如下语句:
 set rss=Server.CreateObject("ADODB.Recordset")
 sql="select * from t_test where c_Question='"&ti&"' and c_Subject_ID='"&c_Subject_ID&"'"
 rss.open sql,conn,1,1
 if not rss.eof then
 
在原来的的XP系统下面的SQL2000server可以执行的很好,可是在上诉2003系统下始终运行结果出错。
即使是空数据表,始终都有满足条件的数据存在。一直搞不懂,希望大家能够帮忙解决啊!

解决方案 »

  1.   

    Tryset rss=Server.CreateObject("ADODB.Recordset")
     sql="select * from t_test where c_Question='"&ti&"' and c_Subject_ID="&c_Subject_ID
     rss.open sql,conn,1,1
     if not rss.eof thenPs
    最好把出错信息写出来,便于确定错误
      

  2.   

    中断代码,调试出SQL,直接在查询分析器中执行,看看与程序中返回的结果是否相同。
      

  3.   

    谢谢大家的跟贴,问题经过摸索后解决了.主要原因是在windows2003 系统中,sql2000 server虽然加上了SP3补丁.但是因为是NTFS的格式文件,所以,必须对数据库所在的目录设置访问浏览器的访问权限,这个访问权限的用户与浏览器的用户一致.在开始的时候,数据库连接一致不正常,在本地系统里面是能够测试通过的,只是客户端访问的时候需要权限认定.2003的安全问题考虑的还是比较周到的