我做了一个程序是在DBGRID里面输入数据的不知是为什么.在里面新增数据可以成功
,但是如果最后一条不回车时.点其他行时,就会出现"无法定位行,可能一些值在最后读取时已经更改",
有时新增成功会去修改其他行时,有时又会出现""无法定位行,可能一些值在最后读取时已经更改".
请问一下各位大哥这是什么问题谢谢了.在线急等高手佳音.谢谢.分不够再加
我用的是ADOQUERY

解决方案 »

  1.   

    谢谢两位朋友我用的是D7
    我的表里面没有主健但是我有一个一个自动新增的字段
    我的查询是 
    with adoquery1 do
        begin
          close;
          sql.Clear;
          sql.Add('select * from chuanpiaotable where chuanpiaonumer='+''''+edit1.Text+'''');
          open;
        end;
    然后将结果显示在网格上接下来呢就是在网格上新增数据和修改数据就会出错了
    end;
      

  2.   

    試下在 DBGrid 的 ONColExit 事件中檢查,
    如果是最後一行, 那:
    if DBGrid1.DataSource.DataSet.state in [dsInsert, dsEdit] then
     DBGrid1.DataSource.DataSet.Post;
      

  3.   

    在移动数据行的时候,应该是差一个post,因为在前边,自动移动,系统帮你post ,在结尾处,就没有了!
    不知道我说的对不对?