求教,代码执行到adoquery1.execsql的时候报错missing connection or connectionstring
谢谢各位
求教原因procedure TForm1.BitBtn1Click(Sender: TObject);var
access:string;
const
link_str='Provider=%s; Data Source=%s';
dataprovider='microsoft.jet.oledb.4.0';
begin
open_database.FileName:='*.mdb';
if open_database.Execute then
begin
access:=open_database.FileName;
edit1.Text:=access;
adoconnection1.Connected:=false;
adoconnection1.ConnectionString:=format(link_str,[dataprovider,access]);
adoconnection1.Connected:=true;
adoconnection1.GetTableNames(listbox1.Items);end;end;procedure TForm1.BitBtn2Click(Sender: TObject);
var
tablename:string;
begin
dbgrid1.DataSource:=datasource1;
datasource1.DataSet:=adoquery1;
tablename:=listbox1.Items.Strings[listbox1.itemIndex];adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Text:='select * from '+tablename+'';
try
adoquery1.ExecSQL;
except
showmessage('error');
end;
谢谢各位
求教原因procedure TForm1.BitBtn1Click(Sender: TObject);var
access:string;
const
link_str='Provider=%s; Data Source=%s';
dataprovider='microsoft.jet.oledb.4.0';
begin
open_database.FileName:='*.mdb';
if open_database.Execute then
begin
access:=open_database.FileName;
edit1.Text:=access;
adoconnection1.Connected:=false;
adoconnection1.ConnectionString:=format(link_str,[dataprovider,access]);
adoconnection1.Connected:=true;
adoconnection1.GetTableNames(listbox1.Items);end;end;procedure TForm1.BitBtn2Click(Sender: TObject);
var
tablename:string;
begin
dbgrid1.DataSource:=datasource1;
datasource1.DataSet:=adoquery1;
tablename:=listbox1.Items.Strings[listbox1.itemIndex];adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Text:='select * from '+tablename+'';
try
adoquery1.ExecSQL;
except
showmessage('error');
end;
ADOQuery1.Connection := ADOConnection1;
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, ADODB, Grids, DBGrids;type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
ADOConnection1: TADOConnection;
open_database: TOpenDialog;
ListBox1: TListBox;
ADOQuery1: TADOQuery;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
var
access:string;
const
link_str='Provider=%s; Data Source=%s';
dataprovider='microsoft.jet.oledb.4.0';
begin
open_database.FileName:='*.mdb';
if open_database.Execute then
begin
access:=open_database.FileName;
edit1.Text:=access;
adoconnection1.Connected:=false;
adoconnection1.ConnectionString:=format(link_str,[dataprovider,access]);
adoconnection1.Connected:=true;
adoconnection1.GetTableNames(listbox1.Items);
end;
end;procedure TForm1.Button2Click(Sender: TObject);
var
tablename:string;
begin
dbgrid1.DataSource:=datasource1;
datasource1.DataSet:=adoquery1;
//tablename:=listbox1.Items.Strings[listbox1.itemIndex];
tablename:=ListBox1.Items.Strings[0];
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Text:='select * from '+tablename+'';
try
//adoquery1.ExecSQL;
ADOQuery1.Open;
except
showmessage('error');
end;
end;
end.