update要用TQuery.ExecSQL,
select要用TQuery.Open

解决方案 »

  1.   

    再不行就把database  close open
      

  2.   

    我试过这样:
    TQuery.ExecSQL
    TQuery.close
    database.close
    ..改成查询语句..
    query.open
      

  3.   

    按照道理是应该能够看到的。会不会是Transaction的问题?
      

  4.   

    我也用过了,commit掉,没用。
      

  5.   

    真是奇怪了,换台机器?重装Delphi?装Pack?...
      

  6.   

    你在delphi里试一下好吗,很简单很快的,我想这不是个别现象。
      

  7.   

    我用过的
    Query.close;
    //select查询语句..比如查整个表
    query.open;
    能行的,只不过dbgrid中把记录又定在了第一条
      

  8.   

    不是的,在Query.close;前面有update语句,select时看不到变化。
      

  9.   

    我试了一下DBDemos下的数据库,一切正常。所以这已经不是程序的问题了。可以寻找其他的原因。
    with Query1 do
      begin
       Close;
        SQL.Text := 'update "customer.db" set Addr2 = "Hello, world" where CustNo=1351';
        ExecSQL;
        SQL.Text := 'select * from "customer.db"';
        Open;
      end;
      

  10.   

    你用ODBC连试试看;我不能BDE直连,有些查询做不到,你看看我另外的帖子就知道了
      

  11.   

        
      case 直接检看表中有没有正确结果 of,
        如果有:再看你的select 语句了;
        如果都没有问题:重装delphi+补丁了;
      end ;
      

  12.   

    多半是BDE的Bug, 想办法绕吧,兄弟!