使用三层结构检索数据,TClientDataSet+TADODataSet+Sql Server,假设有个表,字段A,B,C,D,检索一万条数据的时候,会从某一条数据开始,本来应该是字段C的值,在DBGrid中会显示在B位置上,字段D的值显示在C位置上,后面就是这样一直乱了套,如果单独检索发生错误的那条数据,又都能显示正常的,或者直接在数据库中检索一条或者一万多条都是正确的,不知道是什么原因,有高人能指点一下吗?谢谢!不知道问题有没有描述清楚。

解决方案 »

  1.   

    不會吧
    難道數據出現了髒讀?還是你寫了什麼代碼,例如重畫之類的Source code..
      

  2.   

    没写其他什么代码,就是简单的select * from ……然后直接显示出来。
      

  3.   

    双击dbgrideh可以改变列的位置
      

  4.   

    太妖就换个法子看看
    换成TClientDataSet+TADOQuery+Sql Server
      

  5.   

    你这个也太吓人了吧?你把DBGRID删掉重新放一个上去呢?确认你ClientDataSet的ProviderName是对的?
    你先不用三层的结构来读取数据,自己做一个直接ADOQUERY连接SQL SERVER的来显示数据有没有问题,没有问题那就是你三层数据组件设置有问题
      

  6.   

    是不是DataSource设错了,比如应当是grid的datasource是DSGRID的,然后你调成了DataSet的datasource是DSGRID