我想用两条SQL语句来实现以下功能:
在一个表中若存在该记录则更新
若不存在则添加
以下是我的SQLconns = "insert into savings(机构名称,帐号,科目代码,客户名称,余额,积数,行业,开户日期,销户日期,日均存款,组别,大客户名称,性质) values('" & tmp(0) & "','" & tmp(1) & "','" & tmp(2) & "','" & tmp(3) & "'," & CCur(tmp(4)) & "," & CCur(tmp(5)) & ",'" & tmp(6) & "','" & tmp(7) & "','" & tmp(8) & "'," & CCur(tmp(9)) & ",'" & tmp(10) & "','" & tmp(11) & "','" & tmp(13) & "') where 帐号<>'" & tmp(1) & "'"conn.Execute connsconns = "update savings set 机构名称='" & tmp(0) & "',帐号='" & tmp(1) & "',科目代码='" & tmp(2) & "',客户名称='" & tmp(3) & "',余额=" & CCur(tmp(4)) & ",积数=" & CCur(tmp(5)) & ",行业='" & tmp(6) & "',开户日期='" & tmp(7) & "',销户日期='" & tmp(8) & "',日均存款=" & CCur(tmp(9)) & ",组别='" & tmp(10) & "',大客户名称='" & tmp(11) & "',性质='" & tmp(13) & "') where 帐号='" & tmp(1) & "'"conn.Execute conns运行则提示出错:
"SQL语句的结束位置缺少分号(;)"
在一个表中若存在该记录则更新
若不存在则添加
以下是我的SQLconns = "insert into savings(机构名称,帐号,科目代码,客户名称,余额,积数,行业,开户日期,销户日期,日均存款,组别,大客户名称,性质) values('" & tmp(0) & "','" & tmp(1) & "','" & tmp(2) & "','" & tmp(3) & "'," & CCur(tmp(4)) & "," & CCur(tmp(5)) & ",'" & tmp(6) & "','" & tmp(7) & "','" & tmp(8) & "'," & CCur(tmp(9)) & ",'" & tmp(10) & "','" & tmp(11) & "','" & tmp(13) & "') where 帐号<>'" & tmp(1) & "'"conn.Execute connsconns = "update savings set 机构名称='" & tmp(0) & "',帐号='" & tmp(1) & "',科目代码='" & tmp(2) & "',客户名称='" & tmp(3) & "',余额=" & CCur(tmp(4)) & ",积数=" & CCur(tmp(5)) & ",行业='" & tmp(6) & "',开户日期='" & tmp(7) & "',销户日期='" & tmp(8) & "',日均存款=" & CCur(tmp(9)) & ",组别='" & tmp(10) & "',大客户名称='" & tmp(11) & "',性质='" & tmp(13) & "') where 帐号='" & tmp(1) & "'"conn.Execute conns运行则提示出错:
"SQL语句的结束位置缺少分号(;)"
recSearch.Open strSQL, cnn, adOpenKeyset, adLockOptimisticIf recSearch.EOF Then
conn.execute "insert ..."
else
conn.execute "update ..."
end if
此句where前多了一個)conns = "insert into savings(机构名称,帐号,科目代码,客户名称,余额,积数,行业,开户日期,销户日期,日均存款,组别,大客户名称,性质) values('" & tmp(0) & "','" & tmp(1) & "','" & tmp(2) & "','" & tmp(3) & "'," & CCur(tmp(4)) & "," & CCur(tmp(5)) & ",'" & tmp(6) & "','" & tmp(7) & "','" & tmp(8) & "'," & CCur(tmp(9)) & ",'" & tmp(10) & "','" & tmp(11) & "','" & tmp(13) & "') where 帐号<>'" & tmp(1) & "'"
此句是一個一個字段的賦值,后面不能用where,如果要用where,則應是
insert savings (字段..............)
select 字段......... from tablename where 條件
注意字段的數目和類型應相互對應或是能轉換.