数据的增加、删除、编辑、保存和取消一般不用你编程序啊,
修改navigator都有这些功能。
cannot modify a read_only dataset  错误;就是不能在只读的dataset上修改
可能是query的问题,你换用table试试。

解决方案 »

  1.   

    可能和你访问数据库用户的权限有关,用Query是没有问题的。还有你是否给予了Query正确的数据集。
      

  2.   

    query1.Requestlive := true;你设置成这样就可以了
      

  3.   

    query1.Requestlive := true;这样应该可以 
     
      

  4.   

    query1.Requestlive := true能解决你的不能编辑的问题
    以下代码有问题:
    编辑:if (Query1.state=dsedit) then
          begin
            Query1.edit;  
            dbedit1.setfocus;
            dbedit1.selecall
          end;
    应改成:
    编辑:if (Query1.state<>dsedit)and(Query1.state<>dsInsert) then
          begin
            Query1.edit;  
            dbedit1.setfocus;
            dbedit1.selecall
          end;
     
      

  5.   

    检查数据源datasource.autoedit是否为true
    检查数据集query1.readonly是否为true
      

  6.   

    TQuery能否修改不仅取决于Requestlive。还有很多其它的条件。
    在你的sql语句中不能用order by,grouped by,等等,还有许多。
    用TTable就没问题了。