没有数据吗
你的ADOTable关联的表中是不是没有数据呢

解决方案 »

  1.   

    To windindance(风舞轻扬):就算没有数据也应该显示出字段呀,我的程序运行完了以后什么反应都没有;
    To outer2000(天外流星):我试着把DataSource重新打开了,还是一样的,没有反应;现在我的程序改成这个样子了,问题依旧,大家帮我看看吧:
    begin
      with ADOTable do
        Try
          begin
            Active := False;
            TableName := ListBox_Table.Items[ListBox_Table.ItemIndex];
            Active := True;
          end;
          DS_Table.Enabled := False;
          DS_Table.DataSet := ADOTable;
          DS_Table.Enabled := True;
          DBGrid.DataSource := DS_Query; 
        except
          Application.MessageBox('连接指定的数据表时出错!', '错误信息', MB_OK+MB_ICONHAND+MB_DEFBUTTON1+MB_APPLMODAL);
        end;
    end;
      

  2.   

    DBGrid.DataSource := DS_Query; 
    这是什么?应该是DBGrid.DataSource := DS_Table;吧
      

  3.   

    to h_lj(贝塔):谢谢指正,应该是DS_Table。
    改正后字段出来了(伟大胜利!!!),看来是在动态指定TableName后还要重新打开DataSource,不过数据还是没有出来。
      

  4.   

    上面的改动后,问题解决,但是在多次执行这段程序时发生“BOF和EOF中有一个为真……”的错误,打上ADO补丁2后问题解决!用Google找到的一个ADO补丁2的下载地址如下:
    ftp://ftpc.inprise.com/pub/delphi/devsupport/updates/adoexpress/d5adoupdate2.exe现在问题已经全部解决,最终程序如下:
    with ADOTable do
    Try
      begin
        Active := False;
        TableName := ListBox_Table.Items[ListBox_Table.ItemIndex];
        Active := True;
      end;
    // 经试验,下面这两步操作不需要
    //  DS_Table.DataSet := ADOTable;
    //  DS_Table.Enabled := True;
      DBGrid_Table_Structure.DataSource := DS_Table;
    except
      Application.MessageBox('连接指定的数据表时出错!', '错误信息', MB_OK+MB_ICONHAND+MB_DEFBUTTON1+MB_APPLMODAL);end;
    总结如下:
    1.动态指定ADOTable控件的TableName后,要对连接该ADOTable的数据感应控件重新指定
    DataSource;
    2.该升级的补丁还是得升级,软件公司不会吃饱了没事干瞎扔补丁。谢谢大家!