Asp classic 使用ASP将记录插入db2表并返回结果

Asp classic 使用ASP将记录插入db2表并返回结果,asp-classic,db2,Asp Classic,Db2,我正在尝试将记录插入db2表,并通过response.write获得一个结果。 我的回答是Insert OK,但记录没有插入到我的表中。以下是我使用的代码: <% dim connection dim sSQL, sConnString sSQL="INSERT INTO db.tablename (LOGON,CREATION_DATE,CREATOR) VALUES ('logonTest','2012- 06-20-12.00.00.000000','blabla')"

我正在尝试将记录插入db2表,并通过response.write获得一个结果。 我的回答是Insert OK,但记录没有插入到我的表中。以下是我使用的代码:

<%
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条记录,但这段代码只处理两个第一个“insert-into”,我不明白为什么

<%
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
%>


有什么问题吗?

您可以使用如下查询检查是否有数据插入到表中:

SELECT * FROM FINALE TABLE
(INSERT INTO...)

这是一个输入错误,或者是您实际插入的格式错误的时间戳字符串(我假设您正在将其插入时间戳,而不是char/varchar字段)。你确定它连接好了吗?在打开连接字符串后,执行“错误时继续下一步”,这意味着如果打开失败,程序将不会注意到。还有,事务呢?这可能是一个简单的情况,您只需要
COMMIT
记录吗?它实际上格式不正确。它应该是“2012-06-20-12.00.00.000000”。它应该连接正常,因为我使用的设置与应用程序本身相同,并且工作正常。我试图让这个脚本一次在我的数据库中添加许多记录。如果它的格式不正确,那么您应该会得到一个错误(因为系统会问“您到底在给我什么?”)。除了输出“Insert OK”,为什么不输出更多的调试状态呢?这可能会让您更深入地了解问题。另外(我从来没有弄乱过asp classic),错误转到0时的
指向哪里?