热情软件屋

 

ASP中执行set rs=cn.Execute SQL为什么出错


编号:QA003347
建立日期: 2000年9月24日 最后修改日期:2000年9月27日
所属类别:

liudanhong:
    操作系统:windows 2000 server
    编程工具:ADO,oracle,asp
    问题:我在Windows 2000 server上,开发web数据库程序,运用ADO,VBscript编程,代码如下:
     ... ...
    set cn=Server.CreateObject("ADODB.Connection")
    cn.Open "DNS=asp;UID=asp;PWD=casnet;Database=OracleMyDatabase"
    SQL="select * from User_Info_Tbl where User_ID=1"
    set rs=cn.Execute SQL
     ... ...
    如果不执行最后一句,则没有问题,如果加上最后一句,则阅览器显示发生内部错误,请各位专家给予解决。不胜感谢!
    其中Database 为我在Oracle中建的数据库。
    水平: 中级

回答:

    直接执行set rs=cn.Execute SQL时,rs的CursorType、LockType、CursorLocation都有默认值,改用rs.open语句,并设置rs的属性值试试。
    
    kyspace的意见:
    或许应在表名前加上用户名来标识一个表。
    
    cobe的意见:
    据我所知 Connection的有些操作不能返回结果集,所以不要这样使用,改为cn.Open "DNS=asp;UID=asp;PWD=casnet;Database=OracleMyDatabase"
     SQL="select * from User_Info_Tbl where User_ID=1"
    
    rs.Open SQL,CN 就没问题了
    但定义的时候,需要
    Set rs as New ADODB.Recordset

此问题由曹兆勇回答。

 
把这个问题推荐给朋友
   
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio