我希望使用asp。
更新或插入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 (...)
INSERT或UPDATE自身工作正常。但当我使用其中一种方法时,它失败了。
答案 0 :(得分:1)
您无法在Access中一次运行两个sql语句。您必须在两个单独的操作中更新和插入。
答案 1 :(得分: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是唯一的),则光标位于所选记录上。
并且它更新光标所在的记录:)