在TQuery里默认是只读的,将RequesLive改为True后可以将查询出来的数据修改,但在使用APPEND方法后,在POST时提示“只读的DataSet”,请教什么原因

解决方案 »

  1.   

    你用query查询出来的内容是不是多表联合出来的,用Query的话只能处理单表的内容
    比如select * from table1这样query可以Edit
    而select * from table1 join table2 on...
    这样Query  Open之后还是不能Edit的
      

  2.   

    TQuery的Cached设置为True
    同意 niat97222(Freeman) ,使用Tquery编辑数据时有很多限制,又如:不能有Order By 等语句,具体的限制可以查看Query 的帮助
      

  3.   

    以上几个朋友说的试过了,不行,
    说明一下,我用的是单表查询,
    其实主要目的是为了“插入数据”而不是“修改数据”,因为TQuery里有Append和Insert方法,我想应该可以使用的,因为表中数据量比较大,如果用TABLE的话,每次打开需要取出所有数据,比较费时,因此想用TQuery查询一个空记录,然后往里面写新记录,
    请各位高手帮忙解决一下
      

  4.   

    with query1 do
    begin
    insert {调用insert方法,插入一条空记录}
    <为记录中的各字段赋值>
    query1.post;
    end;