我的dbgrid连接上数据库时能正常显示出来,但当我重新了delphi时,再打开这个工程,
当程序运行到ADOQuery1.Open;或是ADOQuery1.active:=true时,也就是说,它把要返回结果集,我的adoquery1连接到datasource的datasource连接到dgrid时,也就是说把结果集传到了dbgrid时,就出现了如下错误:
"multiple-step operation generated errors,check each 
status value“这个错误哈,当我不让dgrid工作时就正常了!
请问前后都没有修改程序,代码什么都是一样的,怎么突然dbgrid就出现了这个的致命错误?
欢迎大家讨论,讨论者都有分哈!!!

解决方案 »

  1.   

    你把那个DBGRID删掉,再换个看看:)是不是DBGRID中COLUMON连接的字段不对了。
      

  2.   

    会不会是AdoConnection的设置有问题?
      

  3.   

    第一中可能是!你在DBGRID定义的字段与你要连接的数据库字段不同!
    第二是你查询中是否无意识的改变字段
    方法:把现在的dBGRID删掉。在新添加一个 ok!
      

  4.   

    : yangxjn(一条) 
    我除了设置了DataSource的属性,其它的就没做什么生活!!!
    我把dbgrid删除了,还是同样的问题!
      

  5.   

    那你先用数据库的其他控件先和DataSource联一下,看看你的DataSource连接是否畅通啊!!
      

  6.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
    i:integer;
    str:widestring;
    begin
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Add('select * from myinfo ORDER BY id');
    ADOQuery1.open;
    Adoquery1.First;//先让指针指到第一条
    While not Adoquery1.eof do
      begin
        for i:=0 to Adoquery1.fields.count-1  do
         str:=str+Adoquery1.fields[i].AsString +'@';//'@'为每个记录的列值区别符
         str:=str+'|';//'|'为多条记录间的区别符
         showmessage(str);
         Adoquery1.next;
      end;
    end;
    adoquery.open就出错了
      

  7.   

    我的dbgrid连接上数据库时能正常显示出来,但当我重新了delphi时,再打开这个工程,
    当程序运行到ADOQuery1.Open;或是ADOQuery1.active:=true时,也就是说,它把要返回结果集,我的adoquery1连接到datasource的datasource连接到dgrid时,也就是说把结果集传到了dbgrid时,就出现了如下错误:
    "multiple-step operation generated errors,check each 
    status value“这个错误哈,当我不让dgrid工作时就正常了!//这里是如何做的,如何不让dgrid工作的?
    如果说删除dbgrid都有错误的话那就奇怪了,是不是你在某个地方有对dbgrid操作的代码?
      

  8.   

    你的代码改成以下试试:
    ADOQuery1.Close;
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Add('select * from myinfo ORDER BY id');
    ADOQuery1.open;
      

  9.   

    那把采用DBGRID的这段程序发过了,我给你看一下,应该不是什么大问题的。
      

  10.   

    DBGRID中COLUMON字段与adoquery中的字段不相符的缘故吧?
      

  11.   

    楼主贴出的代码看来没有问题,而且不要被误码导了,你的程序出错跟DBGRID完全没有关系
    1.但请注意是否在DELPHI设计过程中设置了ADOQUERY1的字段,这样的话如果你新打开的表中没有这个字段就会出错
    2.注意一下这个ADOQUERY1的事件,如AFTERSCROLL,BEFOREOPEN等等事件是否写过语句,这些语句是否有问题等等,甚至是否有其他DATASET用了这个表作为主表等等,如果是这个问题,在ADOQUERY1.OPEN处用F7来单步调试,就可以看得很清楚.
      

  12.   

    楼主的问题是它的ORACLE的表出问题了,它没有写任何别的代码
      

  13.   

    看报错根本不是数据库操作的问题,有可能是ado对象的问题!!!具体问题,我也不能说清楚
    ,首先看看你的ado对象创建时,是否有冲突。还有看看当某一个爷面关闭后,它创造的ado对象是否消除了,它用过的ado对象是否关闭了(这些公用对象很容易出错的)
    还有,每次调用query时先调用close方法(这应该是个好习惯)