看一看你的query是不是还有相应的事件触发数据集编辑或插入!

解决方案 »

  1.   

    Query1.SQL.;
        Query1.SQL.Clear;
        Query1.SQL.Add('SELECT * FROM ABC');
        Query1.open;
        Query1.First;
    //
        query1.edit;      Query1.FieldByName('fA').Value:='Jacky';
    //
        query1.post;
        Query1.Close;
      

  2.   


        Query1.close;
        Query1.SQL.Clear;
        Query1.SQL.Add('SELECT * FROM ABC');
        Query1.open;
        query1.edit;
        Query1.First;
        Query1.FieldByName('fA').asstring:='Jacky';
        Query1.Close;
      

  3.   


        Query1.close;
        Query1.SQL.Clear;
        Query1.SQL.Add('SELECT * FROM ABC');
        Query1.open;
        query1.edit;
        Query1.First;
        Query1.FieldByName('fA').asstring:='Jacky';
        Query1.Close;
      

  4.   

    你的目的是要作什么
    如果只是利用查询结果的话就不用再赋值了
    如果是想改变查询出记录的信息的话就用Query的update语句吧
    .......
    with Query1 do
    begin
      SQL.Clear;
      SQL.Add('update abc set fa='''Jacky''');
      ExecSQl;
    end;
    ........
      

  5.   

    To dingwei(小丁子) (  ) 信誉:100 :
    会出错,是ODBC出错的信息我的程序很简单,就以上那些,
    就是想select后得一个dataset然后修改,
    我insert into 不会出任何问题to 回复人: netlib(河外孤星) (  ) 信誉:116 
    query1.edit 出can not modified read-only dataset错我是菜鸟,刚起步学,帮帮忙
      

  6.   

    好像Query不能直接对Field编辑,Add('Update ...')或('Insert ...')试试。要不用Table.Edit。
      

  7.   

    Query1.SQL.;
        Query1.SQL.Clear;
        Query1.SQL.Add('SELECT * FROM ABC');
        Query1.open;
        Query1.First;
        Query1.requestlive:=true;
        Query1.FieldByName('fA').Value:='Jacky';
        Query1.Close;
      

  8.   

    Query1.SQL.close;
        Query1.SQL.Clear;
        Query1.SQL.Add('SELECT * FROM ABC');
        Query1.open;
        Query1.First;
        query1.edit;
        Query1.FieldByName('fA').Value:='Jacky';
        Query1.Close;
      

  9.   


    如果是用BDE,Query是不能修改的,除非把RequestLive设为true,但也只是对简单的查询有效,复杂的不行。如果是用ADO,则不存在此问题。
      

  10.   

    Query1.close;
        Query1.SQL.Clear;
        Query1.SQL.Add('SELECT * FROM ABC');
        Query1.open;
        //注意这里
        //首先
        Query1.First;
        //然后
        query1.edit;
        //OK!!!
        Query1.FieldByName('fA').asstring:='Jacky';
        Query1.Close;
      

  11.   

    对不起,忘了一点小东西!
    Query1.close;
        Query1.SQL.Clear;
        Query1.SQL.Add('SELECT * FROM ABC');
        Query1.open;
        //注意这里
        //首先
        Query1.First;
        //然后
        query1.edit;
        //OK!!!
        Query1.FieldByName('fA').asstring:='Jacky';
        Query1.Post;
        Query1.Close;