还望朋友们能帮下忙!!我的下面的程序又出问题了!找了好久都是没找到!!出错住处显示的是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
[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
cbtablename:string;adoconnection1.GetTableNames(cbtablename.items,false);有这样用的,类型就不对
你应该定义为TstringList;
var
cbtablename:TstringList;
adoconnection1.GetTableNames(cbtablename.items,false);