2012-06-21 53 views
0

我試圖將記錄插入到db2表中並使用response.write得到結果。 我的迴應是插入確定,但記錄沒有插入到我的表中。這裏是我使用的代碼:使用ASP將記錄插入到db2表中並返回結果

<% 
dim connection 
dim sSQL, sConnString 

sSQL="INSERT INTO db.tablename (LOGON,CREATION_DATE,CREATOR) VALUES ('logonTest','2012- 06-20-12.00.00.000000','blabla')" 

sConnString="data source=blabla;user id=jhonsonjack;password=mypassword" 

Set connection = Server.CreateObject("ADODB.Connection") 

connection.Open(sConnString) 

On Error Resume Next 

connection.execute(sSQL) 
if Err.number<>0 or connection.Errors.Count <> 0 Then 
response.write "Insert Failed" 
else 
response.write "Insert OK" 
end if 
On Error Goto 0 

Connection.Close 
Set Connection = Nothing 
%> 

任何想法是什麼問題呢?

作爲更新,我的插入現在幾乎可以正常工作。我說差不多,因爲我嘗試在我的表中插入4條記錄,但是這段代碼只處理了兩條第一條「插入」,我不明白爲什麼。

<% 
dim connection 
dim sSQL 
dim sConnString 

sSQL="INSERT INTO XXXXX.XXXXX(LOGON,CREATION_DATE,CREATOR,ACCOUNT_TYPE,TO_DISABLE,APPLICATION_NAME,ACCOUNT_MODEL,DESCRIPTION,OWNER,FAC_SECURITY,CUPID,REG_FORM,CFIRM_DATE,TO_DELETE,DOCLINK) VALUES ('XXXXX','XXXXX','XXXXX','XXXXX','0','XXXXX','4','XXXXX','XXXXX','XXXXX','XXXXX','0','XXXXX','','XXXXX');INSERT INTO XXXXX.XXXXX (LOGON,CREATION_DATE,CREATOR,ACCOUNT_TYPE,TO_DISABLE,APPLICATION_NAME,ACCOUNT_MODEL,DESCRIPTION,OWNER,FAC_SECURITY,CUPID,REG_FORM,CFIRM_DATE,TO_DELETE,DOCLINK) VALUES ('XXXXX','XXXXX','XXXXX','XXXXX','0','XXXXX','4','XXXXX','XXXXX','XXXXX','XXXXX','0','XXXXX','','XXXXX');INSERT INTO XXXXX.XXXXX (LOGON,CREATION_DATE,CREATOR,ACCOUNT_TYPE,TO_DISABLE,APPLICATION_NAME,ACCOUNT_MODEL,DESCRIPTION,OWNER,FAC_SECURITY,CUPID,REG_FORM,CFIRM_DATE,TO_DELETE,DOCLINK) VALUES ('XXXXX','XXXXX','XXXXX','XXXXX','0','XXXXX','4','XXXXX','XXXXX','XXXXX','XXXXX','0','XXXXX','','XXXXX');INSERT INTO XXXXX.XXXXX (LOGON,CREATION_DATE,CREATOR,ACCOUNT_TYPE,TO_DISABLE,APPLICATION_NAME,ACCOUNT_MODEL,DESCRIPTION,OWNER,FAC_SECURITY,CUPID,REG_FORM,CFIRM_DATE,TO_DELETE,DOCLINK) VALUES ('XXXXX','XXXXX','XXXXX','XXXXX','0','XXXXX','4','XXXXX','XXXXX','XXXXX','XXXXX','0','XXXXX','','XXXXX');" 

sConnString="data source=XXXXX;user id=XXXXX;password=XXXXXXXXXX" 

Set connection = Server.CreateObject("ADODB.Connection") 

connection.Open(sConnString) 

set rs = connection.execute(sSQL) 
if Err.number<>0 or connection.Errors.Count <> 0 Then 
response.write "Insert Failed" 
else 
response.write "Insert OK" %><br><% response.write sSQL 
end if 
Connection.Close 
%> 

有什麼想法嗎?

+0

那是一個筆誤,或者是畸形的時刻字符串你實際上插入(我假設你'將它插入時間戳,而不是char/varchar,字段)。你確定它連接好嗎?在打開連接字符串後,您可以執行「On Error Resume Next」,這意味着如果打開失敗,程序將不會注意到。另外,關於交易 - 這可能是你只需要「提交」記錄的簡單情況? –

+0

它的格式不正確。應該是'2012-06-20-12.00.00.000000'。它應該連接好,因爲我使用與應用程序本身相同的設置,並且它工作正常。我嘗試使這個腳本在我的數據庫中一次添加很多記錄。 –

+0

如果格式不正確,那麼你應該得到一個錯誤(因爲系統「你給了我什麼東西?」)。除了輸出「Insert OK」之外,爲什麼不輸出更多的調試狀態 - 這可能會讓您更深入地瞭解您的問題。另外(我從來沒有與asp-classic混淆)「On Error Goto 0」指向哪裏? –

回答

0

如果任何數據插入到表像查詢您可以檢查:

SELECT * FROM FINALE TABLE 
(INSERT INTO...) 
相關問題