我想用两条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语句的结束位置缺少分号(;)"

解决方案 »

  1.   

    1.insert into 中为什么用where 条件??
      

  2.   

    conn定义的什么啊,最好在一句里面写完
      

  3.   

    这个表有主键吗?先找这条记录,如果没找到就insert,找到了就updatestrSQL = "Select * from savings where..."
    recSearch.Open strSQL, cnn, adOpenKeyset, adLockOptimisticIf recSearch.EOF Then
       conn.execute "insert ..."
    else
       conn.execute "update ..."
    end if
      

  4.   

    帐号是主键吗?怎么insert语句里还有where?
      

  5.   

    conns = "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) & "'"
    此句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 條件
    注意字段的數目和類型應相互對應或是能轉換.