2011-12-16 66 views
0

我有这样的(我有以上这一切的连接未显示):为什么我会用传统的asp获取意外错误?

Set cmd = Server.CreateObject("ADODB.Command") 
Set cmd.ActiveConnection = conn 
cmd.CommandType = 1 
cmd.Parameters.Append .CreateParameter("LASTNAME", 200, 1, 50, "JONES") 
cmd.CommandText = "select * from employees where lastname = ?" 
cmd.Prepared = True 
Set rs = cmd.Execute 

当我执行我得到:

Active Server Pages error 'ASP 0115' 
    Unexpected error 

    myasppage.asp 

    A trappable error (C0000005) occurred in an external object. 
The script cannot continue running. 

我看不到我在做什么错。我尝试了各种各样的东西,如删除准备,但它没有任何作用(尝试反复评论上述各种无济于事)。

Oracle如果很重要。

感谢您的帮助。

+0

为什么你使用命令作为记录集,为什么你不使用Adodb.Recordset呢? – 2011-12-17 03:27:24

+0

我会使用存储过程,如果我需要一个记录集并使用命令。 – 2011-12-17 03:31:16

回答

0

我非常怀疑这是问题,但它是我能看到的唯一的东西。它可能只是复制和粘贴,但在这行代码中有一个额外的空间。之间.Append .Create

`cmd.Parameters.Append .CreateParameter("LASTNAME", 200, 1, 50, "JONES")` 
+0

相信它或它应该在我能找到的所有东西。我也认为这看起来很奇怪。 – johnny 2011-12-17 20:43:10

1

尝试改变

cmd.Parameters.Append .CreateParameter( “LASTNAME”,200,1,50, “JONES”)

cmd.Parameters.Append cmd.CreateParameter(“@ lastname”,200,1,50,“JONES”)

1

这是权限问题或损坏的ADO驱动程序。

首先,只是消除其他的东西,试试这个代码进行调试的缘故:

Set rs = conn.Execute("select * from employees where lastname = 'JONES'") 

如果你得到同样的错误,请尝试:

  • IUSR帐户的检查权限在数据库服务器上,或使用SQL身份验证。
  • 将服务器上的MDAC重新安装到最新版本。

另外,什么数据库?什么IIS?

相关问题