首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

ado组件可以写到自定义的函数或过程里吗?为什么提示不对!该怎么解决

2012-02-15 
ado组件可以写到自定义的函数或过程里吗?为什么提示不对!如题,现写着玩一个打开ACCESS库的通用程序,过程开

ado组件可以写到自定义的函数或过程里吗?为什么提示不对!
如题,现写着玩一个打开ACCESS库的通用程序,过程开始都是写在ButtonClick里,后来想做得更通用,就想改写在自定义函数或过程里,可是不行,提示不对。下面是部分代码,那位知道的,提示一下。谢谢了。

[错误] Unit1.pas(49): Undeclared identifier: 'ADOConnection1'

Delphi(Pascal) code
type  TForm1 = class(TForm)    Button1: TButton;    DataSource1: TDataSource;    DBGrid1: TDBGrid;    ADOTable1: TADOTable;    OpenDialog1: TOpenDialog;    ListBox1: TListBox;    Button2: TButton;    ADOConnection1: TADOConnection;    Button4: TButton;    procedure Button1Click(Sender: TObject);    procedure Button2Click(Sender: TObject);    procedure Button4Click(Sender: TObject);  private    { Private declarations }  public    { Public declarations }    procedure OpenDataBase(puk:string);    procedure OpenTable(tabstr:string);  end;var  Form1: TForm1;implementation{$R *.dfm}varconstring,tname:string;procedure OpenDataBase(puk:string);vartablename:TStringList;begin  try        //puk:=OpenDialog1.FileName;        constring:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + puk + ';Persist Security Info=False';        ADOConnection1.ConnectionString:=constring;        ADOConnection1.LoginPrompt:=False;        ADOConnection1.Open;        ADOConnection1.Connected:=True;        ADOConnection1.GetTableNames(tablename);        ListBox1.Items.AddStrings(tablename);  except        ShowMessage('只能打开ACCESS数据库文件,请重新选择!');  end;end;procedure OpenTable(tabstr:string);begin if ADOTable1.Active=False then  begin  if ListBox1.ItemIndex>=0 then  begin    tabstr:=ListBox1.Items.Strings[ListBox1.itemindex];    ADOTable1.Connection:=ADOConnection1;    ADOTable1.TableName:=tabstr;    DataSource1.DataSet:=ADOTable1;    DBGrid1.DataSource:=DataSource1;    ADOTable1.Open;  end  else    ShowMessage('请选择数据库表!!');  endend;


上面的编译通不过.

[解决办法]
可以的,

这样子:
procedure OpenDataBase(puk:string);
begin
Form1.adoconnection1.open;
end;

加上窗体名。
[解决办法]
procedure TForm1.OpenTable(tabstr:string);

热点排行