线程中代码:
    ADOQueryFilesInfo.Edit;
    ADOQueryFilesInfo.FieldByName('AA').AsString:='测试;
    ADOQueryFilesInfo.Post;
现象:
    运行几次线程后,DBGRID里面的项目据然会变多.而且接着就是出错.查资料的说法是:ADO本来是多线程,再写线程,DBGRID显示会冲突.按资料修改代码:
    Adoquery1.DisableControls;
    try
    ADOQueryFilesInfo.Edit;
    ADOQueryFilesInfo.FieldByName('AA').AsString:='测试;
    ADOQueryFilesInfo.Post;
    finally
     Adoquery1.EnableControls;
    end;
结果:不发疯了,但是DBGRID在线程执行过程中不更新了.再查资料说另开一个TIMER更新DBGRID.于是新加一个TIMER写入
DBGRID.Refresh;结果:时不时还是错乱??
求高人解答.

解决方案 »

  1.   

    看了一下多线程共用一个ADO的资料.
    我的程序没有多线程去改一个数据的问题.只有新建线程自己操作数据.
    最大的问题,不是多线程操作一个ADO出现脏数据.而是,DBGRID显示混乱?
    数据本身是没有问题的.
    /*******是显示有问题********/,本身只有五条数据,EDIT再POST几下后,DBGRID里面会出现七八条数据?????
      

  2.   

    在线程里是不是用不同的ADOQuery与DBGrid绑定的?
      

  3.   

    问题找到了.原来是DBGRIDEH这个控件有问题.
    用原版的没啥问题.谢谢.