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;
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;
这是什么?应该是DBGrid.DataSource := DS_Table;吧
改正后字段出来了(伟大胜利!!!),看来是在动态指定TableName后还要重新打开DataSource,不过数据还是没有出来。
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.该升级的补丁还是得升级,软件公司不会吃饱了没事干瞎扔补丁。谢谢大家!