六个DBEDIT分别对应cno,ctype,cst,ccon,cld,crd.其中前四个是文本类型,后面两个是日期类型。

用DBGIRD,QUERY,DATASOURCE。
全部控件设置好后。。
DBEDIT和DBGIRD都能正常显示数据。
请问如何通过先在DBEDIT里修改,然后通过一个BUTTON的按钮事件将数据库修改。。
并在DBGIRD里面显示出来
~~~~~
谢谢了~

解决方案 »

  1.   

    把Query控件的RequestLive设置为True,DataSource的AutoEdit 设置为True,在Button的Click事件下:
    if Query1.State in [dsEdit,dsInsert] then
      Query1.Post;如果DBGrid有数据不刷新,请将Query重新打开一次。或者将Query的AutoRefresh设置为True试试。
      

  2.   

    konhon(优华无限) 
    ........
    点击RUN。。
    提示 TABLE IS ONLY READ。
    何解?
      

  3.   

    我觉得应该没有问题的啊 既然你的数据集处于append的状态了 应该是不会变空的啊
    如果没有处于edit的状态的话 倒是有可能的 学习吧
      

  4.   

    post就可以了吧。
    前提必须把REQUESTLIVE属性设为TRUE。
      

  5.   

    请楼主不要用DBEDIT,这种控件很麻烦的,如要放在一个临时表中,再提交,那么这种控件就很麻烦了
      

  6.   

    query1.sql.add(insert into tablename values(:cno,:ctype,:cst,:ccon,:cld,:crd));
    query1.parambyname('cno').asstring:=edit1.text;
    ......
    ....
    query1.parambyname('cld').asdate:=datetostr(edit6.text);
    query1.execsql;
      

  7.   

    query1.sql.add(insert into tablename values(:cno,:ctype,:cst,:ccon,:cld,:crd));
    query1.parambyname('cno').asstring:=edit1.text;
    ......
    ....
    query1.parambyname('cld').asdate:=datetostr(edit6.text);
    query1.execsql;
      

  8.   

    用DBEDIT确实很麻烦吗?
    请 xiaoqiang123(xiaoqiang) 指出一下原因好吗?
      

  9.   

    if Query1.State in [dsEdit,dsInsert] then
      Query1.Post;