簡體   English   中英

ASP ADO連接Microsoft VBScript運行時錯誤'800a01a8'

[英]asp ADO connection Microsoft VBScript runtime error '800a01a8'

親愛的所有專業程序員,在這里是全新的,在這里我可能不知道如何正確地解決問題。

如果我可能會尋求幫助,您能在這里在這里嗎...我對帶有oop結構的簡單asp有問題...

用功能savedata pls幫助我。 運行時

call savedata("insert","test_","name, id","lalala, 222","User_ID=3")

出現錯誤:

插入test_(name,id)值(lalala,222)

... Microsoft VBScript運行時錯誤'800a01a8'

所需對象:“ Conn”

<%
function declare_conn(sql,atr)

dim conn, conn_
set conn = Server.CreateObject("ADODB.Connection")
conn = Connect()
set conn_ = Server.CreateObject("ADODB.Recordset")
strConnect = _T("Driver={MySQL ODBC 3.51 Driver};Server=localhost;"
     "Database=MyDatabase;User=MyUserName;Password=MyPassword;Option=4;");

if Cstr(atr)="open" then
    conn_.CursorLocation = adUseClient
    conn_.Open sql, conn, 3, 2
    set conn_.ActiveConnection = nothing
    set declare_conn=conn_
else if Cstr(atr)="exec" then
        conn.Open
        conn.Execute sql
    end if
end if
end function


function calldata(a,b,c,d)

dim conn_string, sql_string

    if c<>"" and d<>"" then
        sql_string="SELECT "&Cstr(a)&" FROM "&Cstr(b)&" WHERE "&Cstr(c)&" = '"&Cstr(d)&"'"
        response.write(sql_string)
    else
        sql_string="SELECT "&Cstr(a)&" FROM "&Cstr(b)
        response.write(sql_string)
    end if

set conn_string = Server.CreateObject("ADODB.Recordset")
set conn_string = declare_conn(sql_string,"open")
set calldata = conn_string

end function


function savedata(a,b,c,d,e)

dim conn_string, sql_string, c_, d_, update_string
update_string = ""  
    if Cstr(a)="insert" then
        sql_string="INSERT INTO "&Cstr(b)&" ("&Cstr(c)&") VALUES ("&Cstr(d)&")"
    end if
    response.write(sql_string)
    'response.end
    if Cstr(a)="update" then
        c_ = split(c,", ",-1)
        d_ = split(d,", ",-1)
        response.write(c_)
        response.end
        if ubound(c_) = ubound(d_) then
            do while not c_.eof
                update_string=update_string&"("&Cstr(c_)&"="&Cstr(d_)&"),"
                c_.MoveNext : d_.MoveNext
            loop
        else
            %><script type="text/javascript">alert("save function error: array out of bound");</script> <%
        end if
        if Cstr(e)<>"" then
            sql_string="UPDATE "&Cstr(b)&" SET "&update_string&" WHERE "&Cstr(e)
        else
            sql_string="UPDATE "&Cstr(b)&" SET "&update_string
        end if
    end if

'set conn_string = Server.CreateObject("ADODB.Recordset")
call declare_conn(sql_string,"exec")
end function
%>

錯誤實際上是什么意思? 我在數據庫中創建到數據庫ADO的連接

connect()

仍然,我可以毫無問題地運行

calldata()

editing-dwerty_weird


對騷動很抱歉..

對於這個問題,我發現,我缺少以下內容的“設置”:

set conn=Connect() 

抱歉給您帶來麻煩...但是對於其他問題,我遇到了問題

call savedata("update","test_","name, id","'lalala', 222","bil=1") 

它將得到錯誤:Microsoft VBScript運行時錯誤'800a01a8'必需的對象/bkpi-msn/SPPro/function.asp,第56行–

誰能幫我?

您在數據中缺少單引號 名稱的值是一個字符串,應該用單引號引起來。

您已經在calldata()中實現了它,這就是為什么它可以正常工作的原因。 也為savedata更新相同的內容。

注意:這適用於所有字符串參數,並且可能以其他方式(使用#)適用於日期/日期時間參數。

請以此為起點,並遵循最佳開發實踐!

希望這可以幫助!

維維克

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM