在delphi中写:
sql := 'update Table set flag = not flag‘;
通不过:(
我也试过用.not.,!,not(flag)都不行,正确的应该怎么写??请教!

解决方案 »

  1.   

    如果flag为逻辑字段,在update 时只有true 与 false,
      

  2.   

    if flag then param:=false
    else param:=true;sql:='update table set flag ='+param;其中param为BOOLEAN型的临时变量
      

  3.   

    不是吧?用这种方法?难道sql里没有逻辑非操作符?!
    :(
      

  4.   

    update Table set flag =flag-1
      

  5.   

    1或者0,逻辑非就是 not。
      

  6.   

    是                否
    Sql中   非零数字或True      0或FalseSql中逻辑操作符: Not,or,And,
    你的‘sql := 'update Table set flag = not flag‘;
    ’中Flag是数字或true、false就没错
      

  7.   

    'update Table set flag = not flag‘
    如果flag真的是逻辑变量是这样写的,但如果你是用sql server,flag是bit类型的话那么就应该写成'update Table set flag = 1-flag‘,因为在sql server里面bit会当成整型处理,只不过值域只是0和1,但在delphi里面会映射成TBooleanField
      

  8.   

    'update Table set flag = (castflag when 1 then 0 else 1 end)‘