数据库连接正常
qry1是TADOQuery
ds1是TDataSource
dbgrd1是TDBGrid执行下面语句     qry1.Connection:=AdoConnection1;
      qry1.SQL.Clear;
      qry1.SQL.Add('select * from table1');
      qry1.Close;
      qry1.Open;
      qry1.Active:=True;
      ds1.DataSet:=qry1;
      dbgrd1.DataSource:=ds1;
      AdoConnection1.Close;    总是提示:
raised exception class EoleException with message ‘对象名table1无效’

解决方案 »

  1.   

    你有没有table1这个表,如果有的话是你查一下你的数据库是打开的还是关闭的。
      

  2.   

    有没有在数据连接的SQL里面填写加SQL语句。
      

  3.   

    AdoConnection1.Close;  这句话拿掉试试
      

  4.   

          AdoConnection1.ConnectionString:= conStr;
          try
              AdoConnection1.Connected:=True;
              ShowMessage('connect OK');
          except
              showmessage('请检查数据库连接');
          end;
    数据库连接是成功的,提示connect OK,表肯定存在的
      

  5.   

    qry1.close;
    qry1.sql.clear;
    qry1.sql.add('select * from table1');
    qry1.open;
    连接在控件里设置
      

  6.   

    dbgrd1.DataSource:=ds1;
      AdoConnection1.Close;  数据库连接都断开了,肯定显示不了数据了.
      

  7.   

    对象名table1无效,这应该是数据库中不存在此表的提示啊
      

  8.   

    数据库连接成功不代表数据表一定存在。你的错误提示表明 Table1 数据表不存在。
    (你不会有一个名叫“Table1”的数据表吧?)  qry1.Connection:=AdoConnection1; 
      qry1.Close; //通常在查询前要关闭数据表
      qry1.SQL.Clear;
      qry1.SQL.Add('select * from table1');
      //qry1.Close; //这一句没有必要
      qry1.Open;
      //qry1.Active:=True; //这一句等效于 qry1.Open; 没有必要重复
      ds1.DataSet:=qry1;
      dbgrd1.DataSource:=ds1;
      //AdoConnection1.Close; //这句通常放在窗体关闭 OnClose 中
                                  //如果查询后立即断开连接,你将丢失
                                  //查询到的所有数据。
      

  9.   

      qry1.Connection:=AdoConnection1; 
      qry1.Close; //通常在查询前要关闭数据表
      qry1.SQL.Clear;
      qry1.SQL.Add('select * from table1');
      //qry1.Close; //这一句没有必要
      qry1.Open;
      //qry1.Active:=True; //这一句等效于 qry1.Open; 没有必要重复
      ds1.DataSet:=qry1;
      dbgrd1.DataSource:=ds1;
      //AdoConnection1.Close; //这句通常放在窗体关闭 OnClose 中
                                  //如果查询后立即断开连接,