2010-07-02 125 views
3

我希望更新或插入如果丟失到使用asp的msaccess數據庫。更新插入msaccess

我試圖像:

IF EXISTS (SELECT * FROM Table1 WHERE Column1='SomeValue') 
    UPDATE Table1 SET (...) WHERE Column1='SomeValue' 
ELSE 
    INSERT INTO Table1 VALUES (...) 

UPDATE Table1 SET (...) WHERE Column1='SomeValue' 
IF @@ROWCOUNT=0 
    INSERT INTO Table1 VALUES (...) 

插入或者更新自己的正常工作。但是當我用這兩種方法之一,它失敗。

回答

0
Set db = CreateObject("ADODB.Connection") 
set rs = Server.CreateObject("ADODB.Recordset") 
     db.Open "DSN=name" 
     rs.CursorLocation = 3 
     rs.Open "SELECT * FROM Table WHERE Field="&Variable, db, 3, 3 
     if rs.EOF then 
     rs.AddNew 
     end if 
      rs("fieldName1") = Variable1 
      rs("fieldName2") = Variable2 
      rs("fieldName3") = Variable3 
     rs.Update 
     rs.Close 

如果SELECT不返回任何內容,則會添加記錄。添加遊標後添加記錄。 如果SELECT返回一條記錄(因爲Field是唯一的),則光標位於所選記錄上。

並比它更新光標所在的記錄:)

1

您不能運行在Access一次兩個SQL語句。您必須更新並插入兩個單獨的操作。