具体问题如下,我点击DBGRID的记录,在EDIT中修改,保存到数据库中,但是是在原来的记录上修改,保存,也就是 不新增加一条的,
请高手们相助!
我 不用ADO,我用的数据库想连的是CLIENTDATASET

解决方案 »

  1.   

    写SQL 语句 
    update table1 set 字段='值' Where f_id=''
      

  2.   

    可是我不用TABLE控件的啊,就是因为这个我才不知道代码该怎么写的饿
      

  3.   

    如果直接在DBGRID上修改,就把数据集状态改为EDIT,DBGRID的ONLYREAD改为F,就可以修改
      

  4.   

    哎,难道又是我说错了?
    我的意思大家还是不明白 吗/
    我的意思是我在DBGRID里面管理和查询数据,在EDIT中修改数据,是在同一条记录上修改,不是又增加了一条,
    请知道的高手,帮忙的啊
      

  5.   

    在dbgrid的oncellclick上加
    procedure Tmsdyform1.DBGrid1CellClick(Column: TColumn);
    begin
    if not dm.DataModule1.ysfb_table.eof then
    begin
    yanse.Text:=dm.DataModule1.ysfb_table.fieldbyname('yanse').AsString;
    pingyu.Text:=dm.DataModule1.ysfb_table.fieldbyname('pingyu').AsString;
    yaoqiusl.Text:=dm.DataModule1.ysfb_table.fieldbyname('yaoqiusl').AsString;
    wanchengrq.text:=dm.DataModule1.ysfb_table.fieldbyname('wanchengrq').AsString;
    wanchengsl.text:=dm.DataModule1.ysfb_table.fieldbyname('wanchengsl').asstring;
    rukusl.text:=dm.datamodule1.ysfb_table.fieldbyname('rukusl').AsString;
    end;
    end;再加edit1上的onchange事件
    procedure Tmsdyform1.edit1change(Sender: TObject);
    begin
      with dm.DataModule1.ysfb_table do
      begin
      edit;
      FieldByName('yanse').AsString:=yanse.Text;
      FieldByName('yaoqiusl').asstring:=yaoqiusl.text;
      FieldByName('wanchengsl').asstring:=wanchengsl.text;
      FieldByName('wanchengrq').asstring:=wanchengrq.text;
      FieldByName('pingyu').AsString:=pingyu.Text;
      FieldByName('rukusl').AsString:=rukusl.text;
      post;end;end;
      

  6.   

    搂主说不用TABLE组件什么意思呀??
    update [tablename] set 字段=:Temp
    query1.fieldbyname('Temp').asvalue:=edit1.text;
      

  7.   

    再说TABLE也执行不了SQL语句的说!!