小的用dbgrid窗体要调用数据摸板想实现字段数据的增加、修改和保存、查询功能,,,但不成功,只能实现查询,不能增加和保存 ,请问是怎么会事呢   请指点

解决方案 »

  1.   

    保存后 后面加一句
    CD.ApplyUpdates(-1);
      

  2.   

    我加有的,但就不行,要不看看我的代码:
    procedure TFrm_txbc.RzToolbarButton1Click(Sender: TObject);//实现查询
    begin
     RzDBGrid1.DataSource:=mode.DataSource1;
     RzDBGrid1.Enabled:=true;
      with mode.ClientDataSet1 do
      begin
        Active:=false;Close;
        CommandText:='select * from xxb  where sbsj>=:begdate and sbsj<=:enddate order by sbsj asc';
        Params.ParamByName('begdate').AsDate:=RzDateTimePicker1.Date;
        Params.ParamByName('enddate').AsDate:=RzDateTimePicker2.Date;
        Open;
      end;
    end;procedure TFrm_txbc.RzToolbarButton5Click(Sender: TObject);//实现增加
     begin
     mode.ClientDataSet1.Append;
     end;procedure TFrm_txbc.RzToolbarButton3Click(Sender: TObject);//实现保存
     begin
     mode.ClientDataSet1.ApplyUpdates(-1);
     end;
    还有就是字段不跟数据库关联的话,用‘select * from table’可以实现增加等功能,若把*换成具体字段名字就不可以了,帮我看看,这个问题已经耽搁我很长时间, 快帮帮小弟,小弟是刚从事开发的 ,谢谢 !
      

  3.   

    你在服务器端加个updateSQL,提交按钮的事件这样写:
     procedure TFrm_txbc.RzToolbarButton5Click(Sender: TObject);//实现增加
     begin
       if not mode.ClientDataSet1.Active then mode.ClientDataSet1.Open;
       mode.ClientDataSet1.Append;
     end; procedure TFrm_txbc.RzToolbarButton3Click(Sender: TObject);//实现保存
     begin
       if mode.ClientDataSet1.State in [dsinsert,dsedit] then
       begin
         mode.ClientDataSet1.Post;
         mode.ClientDataSet1.ApplyUpdates(0);
       end;
     end;
      

  4.   

    不好意思  我的数据库是oracle,,谢谢
      

  5.   

    这好像跟是不是ORACLE没什么关系吧,你没用过UpdateSQL控件?
      

  6.   

    还是不行,只要字段跟DBGrid关联,就不可以增加,但不关联且‘select *(不是具体字段名字)from table '可以实现增加   我用的是Delphi 7  +  oracle  是不是开发工具的问题