2011-12-16 55 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?

相關問題