各位大哥看看,怎么不能修改呢 
  with Q_HouseTiao do
  begin
    CLOSE;
    SQL.Clear;
    SQL.Add('UPDATE HOUSE_INFO SET STATE="1" ');
    SQL.Add('WHERE ID=''(SELECT HOUSE_ID FROM USER_HOUSE WHERE USER_ID)='+''''+DBEdit15.TEXT+'''');
    ExecSQL;
  end;
谢谢

解决方案 »

  1.   


      with Q_HouseTiao do
      begin
        CLOSE;
        SQL.Clear;
        SQL.Add('UPDATE HOUSE_INFO SET STATE=''1'' ');
        SQL.Add('WHERE ID=(SELECT HOUSE_ID FROM USER_HOUSE WHERE USER_ID='+''''+DBEdit15.TEXT+''')');
        ExecSQL;
      

  2.   

    with Q_HouseTiao do
      begin
        CLOSE;
        SQL.Clear;
        SQL.Add('UPDATE HOUSE_INFO SET STATE='+quotedstr(1));
        SQL.Add('WHERE ID=(SELECT HOUSE_ID FROM USER_HOUSE WHERE USER_ID='''+quotedstr(DBEdit15.TEXT)+')');
        ExecSQL;
    应该是这样!
      

  3.   

    with Q_HouseTiao do
      begin
        CLOSE;
        SQL.Clear;
        SQL.Add('UPDATE HOUSE_INFO SET STATE='+quotedstr(1));
        SQL.Add('WHERE ID=(SELECT HOUSE_ID FROM USER_HOUSE WHERE USER_ID='+quotedstr(DBEdit15.TEXT)+')');
        ExecSQL;前面错了,这次没问题了!
      

  4.   

    大哥 还有这个错误 [Error] Management.pas(266): Incompatible types: 'String' and 'Integer'
      

  5.   

    请把STATE,ID,HOUSE_ID,USER_ID类型仔细看一下,如果还不通过,请介绍一下类型
      

  6.   

    我把它修改成这样但是说什么语法错误,在查询表达式'['中,错误信息中的单引号里面的符号为中括号去了下边一横
    procedure TF_main.Button5Click(Sender: TObject);
    begin
    with Q_HouseTiao do
      begin
        CLOSE;
        SQL.Clear;
        SQL.Add('UPDATE HOUSE_INFO SET STATE='+chr(1));
        SQL.Add('WHERE ID=(SELECT HOUSE_ID FROM USER_HOUSE WHERE USER_ID='+quotedstr(DBEdit15.TEXT)+')');
        ExecSQL;
      end;
    end;
    end.
      

  7.   

    with Q_HouseTiao do
    begin
        CLOSE;
        SQL.Clear;
        SQL.Add('UPDATE HOUSE_INFO SET STATE='+quotedstr(1));
        SQL.Add('WHERE ID=(SELECT HOUSE_ID FROM USER_HOUSE WHERE USER_ID='+quotedstr(DBEdit15.TEXT)+')');
        ExecSQL;
    end;
      

  8.   

    人生程序 这样就不行啊  出现了 [Error] Management.pas(266): Incompatible types: 'String' and 'Integer'
    我的这些东西的类型都是文本
      

  9.   

    改一下啊;
    各位大哥看看,怎么不能修改呢 
      with Q_HouseTiao do
      begin
        CLOSE;
        SQL.Clear;
        SQL.Add('UPDATE HOUSE_INFO SET STATE="1" ');
        SQL.Add('WHERE ID IN ''(SELECT HOUSE_ID FROM USER_HOUSE WHERE USER_ID)
                       ~~~~~~~~~~ 
    ='+''''+DBEdit15.TEXT+'''');
        ExecSQL;
      end;
    谢谢
      

  10.   

    有语法错误啊  In操作符没有()在查询表达式 IN ''(SELECT HOUSE_ID FROM USER_HOUSE WHERE USER_ID)='+''''+DBEdit15.TEXT+''''
      

  11.   

    with Q_HouseTiao do
      begin
        CLOSE;
        SQL.Clear;
        SQL.Add('UPDATE HOUSE_INFO SET STATE=''1'' ');
        with Q_HouseTiao do
      begin
        CLOSE;
        SQL.Clear;
        SQL.Add('UPDATE HOUSE_INFO SET STATE="1" ');
        SQL.Add('WHERE ID IN (SELECT HOUSE_ID FROM USER_HOUSE WHERE USER_ID
                       ~~~~~~~~~~ 
    ='''+trim(DBEdit15.TEXT)+''' ');
        ExecSQL;
        end;