如题。-------------------------------------------------------------------------------------------
表1名称:Account字段1:SummaryButtonAdd
字段2:SummaryButtonSub
字段3:SummaryCoinAdd
字段4:SummaryCoinSub
字段5:Withhold 
字段5:CoinRate [PK]-------------------------------------------------------------------------------------------
表2名称:tempAccount字段1:SummaryButtonAdd
字段2:SummaryButtonSub
字段3:SummaryCoinAdd
字段4:SummaryCoinSub
字段5:Withhold 
字段5:CoinRate [PK]
-------------------------------------------------------------------------------------------
以上两个表一模一样的结构,就是表名称不一样。可我在C#.NET 用到了Oled的Command对象操作数据库时出现:错误为:-------------------------------------------------------------------------------------------
语法错误 (操作符丢失) 在查询表达式 '(Account.Withhold+tempAccount.Withhold) from Account inner join tempAccount' 中。
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------我试过修改Access命令字符串,4次,不同的写法,都一样出这样的问题。-------------------------------------------------------------------------------------------1.
-------------------------------------------------------------------------------------------
update Account set Account.SummaryButtonAdd=Account.SummaryButtonAdd+tempAccount.SummaryButtonAdd,
Account.SummaryButtonSub=Account.SummaryButtonSub+tempAccount.SummaryButtonSub,
Account.SummaryCoinAdd=Account.SummaryCoinAdd+tempAccount.SummaryCoinAdd,
Account.SummaryCoinSub=Account.SummaryCoinSub+tempAccount.SummaryCoinSub,
Account.Withhold=Account.Withhold+tempAccount.Withhold from Account,tempAccount
 where Account.CoinRate=tempAccount.CoinRate
-------------------------------------------------------------------------------------------2.
-------------------------------------------------------------------------------------------
update a set a.SummaryButtonAdd=a.SummaryButtonAdd+b.SummaryButtonAdd,
a.SummaryButtonSub=a.SummaryButtonSub+b.SummaryButtonSub,
a.SummaryCoinAdd=a.SummaryCoinAdd+b.SummaryCoinAdd,
a.SummaryCoinSub=a.SummaryCoinSub+b.SummaryCoinSub,
a.Withhold=a.Withhold+b.Withhold from Account a,tempAccount b
 where a.CoinRate=b.CoinRate
-------------------------------------------------------------------------------------------3.
-------------------------------------------------------------------------------------------SQL code
update a set a.SummaryButtonAdd=a.SummaryButtonAdd+b.SummaryButtonAdd,
a.SummaryButtonSub=a.SummaryButtonSub+b.SummaryButtonSub,
a.SummaryCoinAdd=a.SummaryCoinAdd+b.SummaryCoinAdd,
a.SummaryCoinSub=a.SummaryCoinSub+b.SummaryCoinSub,
a.Withhold=a.Withhold+b.Withhold from Account a inner join tempAccount b
 where a.CoinRate=b.CoinRate-------------------------------------------------------------------------------------------4.
-------------------------------------------------------------------------------------------
update a set a.SummaryButtonAdd=(a.SummaryButtonAdd+b.SummaryButtonAdd),
a.SummaryButtonSub=(a.SummaryButtonSub+b.SummaryButtonSub),
a.SummaryCoinAdd=(a.SummaryCoinAdd+b.SummaryCoinAdd),
a.SummaryCoinSub=(a.SummaryCoinSub+b.SummaryCoinSub),
a.Withhold=(a.Withhold+b.Withhold) from Account a,tempAccount b
 where a.CoinRate=b.CoinRate-------------------------------------------------------------------------------------------
就以上4次的测试还是出现那样的Oled的异常请问有没有朋友谁解决啊,麻烦帮忙一下,谢谢。

解决方案 »

  1.   

    应该是测试数据的问题吧  与SQL语句无关
      

  2.   

    access:update a inner join b on a.CoinRate=b.CoinRate
    set a.SummaryButtonAdd=(a.SummaryButtonAdd+b.SummaryButtonAdd),
    a.SummaryButtonSub=(a.SummaryButtonSub+b.SummaryButtonSub),
    a.SummaryCoinAdd=(a.SummaryCoinAdd+b.SummaryCoinAdd),
    a.SummaryCoinSub=(a.SummaryCoinSub+b.SummaryCoinSub),
      

  3.   


    update Account.inner join tempAccount.on Account.CoinRate=tempAccount.CoinRate set Account.SummaryButtonAdd=(Account.SummaryButtonAdd+tempAccount.SummaryButtonAdd),Account.SummaryButtonSub=(Account.SummaryButtonSub+tempAccount.SummaryButtonSub),Account.SummaryCoinAdd=(Account.SummaryCoinAdd+tempAccount.SummaryCoinAdd),Account.SummaryCoinSub=(Account.SummaryCoinSub+tempAccount.SummaryCoinSub)异常信息:OledbException异常类提示:UPDATE 语句的语法错误。
      

  4.   


    郁闷,我打多个".",我把"."去掉就正确了,非常感谢。
    不过新问题又有,我都不知道哪里有错,郁闷啊………………update tempAccount
     set 
    SummaryButtonAdd=0,
    SummaryButtonSub=0,
    SummaryCoinAdd=0,
    SummaryCoinSub=0,
    Withhold=0
     from tempAccount异常提示:语法错误 (操作符丢失) 在查询表达式 '0 from tempAccount' 中。
      

  5.   

    楼主可以现在Access中建一个查询 
    运行楼主这4种方法!看看能不能执行!从语法上看都能正常执行!
      

  6.   

    update tempAccount
     on CoinRate in (1,10,50,100)
     set 
    SummaryButtonAdd=0,
    SummaryButtonSub=0,
    SummaryCoinAdd=0,
    SummaryCoinSub=0,
    Withhold=0
     from tempAccount错误提示:UPDATE 语句的语法错误。
      

  7.   

    oh my god...try and try...update tempAccount
     on CoinRate in (1,10,50,100)
     set 
    SummaryButtonAdd=0,
    SummaryButtonSub=0,
    SummaryCoinAdd=0,
    SummaryCoinSub=0,
    Withhold=0
      

  8.   


    我这个还是有错误啊晕。错误提示:UPDATE 语句的语法错误。Access 与 SQL 的不一样啊.