还望朋友们能帮下忙!!我的下面的程序又出问题了!找了好久都是没找到!!出错住处显示的是adoconnection1.GetTableNames(cbtablename.items,false);这一句。[Error] Unit1.pas(69): Record, object or class type required
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'unit Unit1;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, DBGrids, StdCtrls, ExtCtrls, ADODB, DB, DBTables,
  ComCtrls;type
  TForm1 = class(TForm)
  PageControl1: TPageControl;
  TabSheet1: TTabSheet;
  TabSheet2: TTabSheet;
  Panel1: TPanel;
  DataSource1: TDataSource;
  Table1: TTable;
  Database1: TDatabase;
  ADOConnection1: TADOConnection;
  ADOTable1: TADOTable;
  OpenDialog1: TOpenDialog;
  SaveDialog1: TSaveDialog;
  ADOConnection2: TADOTable;
  DataSource2: TDataSource;
  OpenDialog2: TOpenDialog;
  BtnOpen: TButton;
  RadioGroup1: TRadioGroup;
  DBGrid1: TDBGrid;
  BtnBrowser: TButton;
  BtOpenFile: TButton;
  Tabel1: TButton;
  provider: TEdit;
  Edit1: TEdit;
  EdtDataSource: TEdit;
  ComboBox1: TComboBox;
  BtnOpen2: TButton;
  BtnBrowser2: TButton;
  ComboBox2: TComboBox;
  DBGrid2: TDBGrid;
  edtDriver: TEdit;
  EdtDataBase: TEdit;
  procedure BtnOpenClick(Sender: TObject);
  private
  { Private declarations }
  public
  { Public declarations }
  end;var
  Form1: TForm1;implementation{$R *.dfm}procedure TForm1.BtnOpenClick(Sender: TObject);
const
  conststr='provider=%s ;data provider=%s;data source=%s';
  var
  cbtablename:string;
begin
  if not adoconnection1.Connected then
  adoconnection1.ConnectionString:=format(conststr,[provider.text,provider.text,edtdatasource.text]);
  try
  adoconnection1.Open();
  except
  exception.create('conopenadoerror');
end;
  adoconnection1.GetTableNames(cbtablename.items,false);
  cbtablename.itemindex:=0;
  adotable1.close;
  adotable.connection:=adoconnection1;
  adotable1.tablename:=cbtablename.text;
  adotable.open;
end;end

解决方案 »

  1.   

    cbtablename:TStringList,搞清楚人家需要的类型好不好
      

  2.   

    var
      cbtablename:string;adoconnection1.GetTableNames(cbtablename.items,false);有这样用的,类型就不对
      

  3.   

    楼主的错误非常明显的,你定义的cbtablename变量时string,没有items的属性之类!!
    你应该定义为TstringList;
      

  4.   

     
    var
      cbtablename:TstringList;
       adoconnection1.GetTableNames(cbtablename.items,false);