procedure TForm1.ToolButton1Click(Sender: TObject);
var
Tables: TStrings;
TN: TTreeNode;
i: integer;
begin
try
OpenDialog1.DefaultExt := 'mdb';
OpenDialog1.Filter := '数据库文件 (*.mdb)|*.mdb|所有文件 (*.*)|*.*';
if OpenDialog1.Execute then
begin
Edit19.Text := OpenDialog1.FileName;
if Edit19.Text = '' then Exit;
Tables := TStringList.Create;
ADOConnection1.Close;
ADOConnection1.ConnectionString :='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+Edit19.Text+';Persist Security Info=False;Jet OLEDB:Database Password='+Edit20.Text;
try
ADOConnection1.Open;
except
begin
Showmessage ('数据库访问错误!');
Edit20.SetFocus;
end;
end;
TreeView1.Items.Clear;
try
TreeView2.Items.Clear;
except
end;
ADOConnection1.GetTableNames(Tables);
end;
if OpenDialog1.FileName = '' then Exit;
for i := 0 to Tables.Count - 1 do
//=================================================================
//Variable 'Tables' might not have been initialized
//Variable 'TN' might not have been initialized
//为什么我最后释放了 还是提示以上错误!?????????????????
//=================================================================== TreeView1.Items.AddChild(TN, Tables.Strings[i]); OpenDataBool := True;
Tables.Free;
except
Tables.Free;
end;
end;
var
Tables: TStrings;
TN: TTreeNode;
i: integer;
begin
try
OpenDialog1.DefaultExt := 'mdb';
OpenDialog1.Filter := '数据库文件 (*.mdb)|*.mdb|所有文件 (*.*)|*.*';
if OpenDialog1.Execute then
begin
Edit19.Text := OpenDialog1.FileName;
if Edit19.Text = '' then Exit;
Tables := TStringList.Create;
ADOConnection1.Close;
ADOConnection1.ConnectionString :='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+Edit19.Text+';Persist Security Info=False;Jet OLEDB:Database Password='+Edit20.Text;
try
ADOConnection1.Open;
except
begin
Showmessage ('数据库访问错误!');
Edit20.SetFocus;
end;
end;
TreeView1.Items.Clear;
try
TreeView2.Items.Clear;
except
end;
ADOConnection1.GetTableNames(Tables);
end;
if OpenDialog1.FileName = '' then Exit;
for i := 0 to Tables.Count - 1 do
//=================================================================
//Variable 'Tables' might not have been initialized
//Variable 'TN' might not have been initialized
//为什么我最后释放了 还是提示以上错误!?????????????????
//=================================================================== TreeView1.Items.AddChild(TN, Tables.Strings[i]); OpenDataBool := True;
Tables.Free;
except
Tables.Free;
end;
end;
搞定 ! TN := Nil;