我的一段程序: var str,AppPath:string; dbname,fieldname:tstringlist; iCount,nCount:integer; ListItem:TListItem; begin DataModule3.ADOTable4.Locate('tablename',searchedit.Text,[loCaseInsensitive,loPartialKey]); for nCount:=0 to rzlistview1.Items.Count-1 do begin if rzlistview1.Items[nCount].Caption=DataModule3.ADOTable4.FieldByName('tablename').asstring then begin rzlistview1.Items[nCount].Selected:=true; end; end; if rzlistview1.Selected<>nil then begin ADOConnection1.Close; ADOConnection1.Connected:=false; ADOConnection1.ConnectionString:=''; str:='Provider=Microsoft.Jet.OLEDB.4.0;Password="";User ID=Admin;Data Source='; AppPath:=ExtractFileDir(Application.ExeName); str:=str+AppPath+'\bsdata\'+rzlistview1.Selected.Caption; ADOConnection1.ConnectionString:=str+'.mdb;Mode=Share Deny None;'+'Extended Properties="";Jet OLEDB:System database="";'+'Jet OLEDB:Registry Path="";'+'Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=4;'+'Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;'+'Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";'+'Jet OLEDB:Create System Database=False;'+'Jet OLEDB:Encrypt Database=False;'+'Jet OLEDB:Don''t Copy Locale on Compact=False;'+'Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False'; ADOConnection1.Connected:=true; ADOConnection1.Open; dbname:=tstringlist.Create; ADOConnection1.GetTableNames(dbname,false); fieldname:=tstringlist.Create; ADOConnection1.GetFieldNames(dbname.Strings[0],fieldname); rzlistview2.Items.Clear; for icount:=0 to fieldname.Count-1 do begin rzlistview2.Items.BeginUpdate; ListItem:=rzlistview2.Items.Add ; ListItem.Caption:=fieldname.Strings[icount]; rzlistview2.Items.EndUpdate; end; rzlistview1.SetFocus; end; end;
我的一段程序: var str,AppPath:string; dbname,fieldname:tstringlist; iCount,nCount:integer; ListItem:TListItem; begin DataModule3.ADOTable4.Locate('tablename',searchedit.Text,[loCaseInsensitive,loPartialKey]); for nCount:=0 to rzlistview1.Items.Count-1 do begin if rzlistview1.Items[nCount].Caption=DataModule3.ADOTable4.FieldByName('tablename').asstring then begin rzlistview1.Items[nCount].Selected:=true; end; end; if rzlistview1.Selected<>nil then begin ADOConnection1.Close; ADOConnection1.Connected:=false; ADOConnection1.ConnectionString:=''; str:='Provider=Microsoft.Jet.OLEDB.4.0;Password="";User ID=Admin;Data Source='; AppPath:=ExtractFileDir(Application.ExeName); str:=str+AppPath+'\bsdata\'+rzlistview1.Selected.Caption; ADOConnection1.ConnectionString:=str+'.mdb;Mode=Share Deny None;'+'Extended Properties="";Jet OLEDB:System database="";'+'Jet OLEDB:Registry Path="";'+'Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=4;'+'Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;'+'Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";'+'Jet OLEDB:Create System Database=False;'+'Jet OLEDB:Encrypt Database=False;'+'Jet OLEDB:Don''t Copy Locale on Compact=False;'+'Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False'; ADOConnection1.Connected:=true; ADOConnection1.Open; dbname:=tstringlist.Create; ADOConnection1.GetTableNames(dbname,false); fieldname:=tstringlist.Create; ADOConnection1.GetFieldNames(dbname.Strings[0],fieldname); rzlistview2.Items.Clear; for icount:=0 to fieldname.Count-1 do begin rzlistview2.Items.BeginUpdate; ListItem:=rzlistview2.Items.Add ; ListItem.Caption:=fieldname.Strings[icount]; rzlistview2.Items.EndUpdate; end; rzlistview1.SetFocus; end; end;
我的一段程序: var str,AppPath:string; dbname,fieldname:tstringlist; iCount,nCount:integer; ListItem:TListItem; begin DataModule3.ADOTable4.Locate('tablename',searchedit.Text,[loCaseInsensitive,loPartialKey]); for nCount:=0 to rzlistview1.Items.Count-1 do begin if rzlistview1.Items[nCount].Caption=DataModule3.ADOTable4.FieldByName('tablename').asstring then begin rzlistview1.Items[nCount].Selected:=true; end; end; if rzlistview1.Selected<>nil then begin ADOConnection1.Close; ADOConnection1.Connected:=false; ADOConnection1.ConnectionString:=''; str:='Provider=Microsoft.Jet.OLEDB.4.0;Password="";User ID=Admin;Data Source='; AppPath:=ExtractFileDir(Application.ExeName); str:=str+AppPath+'\bsdata\'+rzlistview1.Selected.Caption; ADOConnection1.ConnectionString:=str+'.mdb;Mode=Share Deny None;'+'Extended Properties="";Jet OLEDB:System database="";'+'Jet OLEDB:Registry Path="";'+'Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=4;'+'Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;'+'Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";'+'Jet OLEDB:Create System Database=False;'+'Jet OLEDB:Encrypt Database=False;'+'Jet OLEDB:Don''t Copy Locale on Compact=False;'+'Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False'; ADOConnection1.Connected:=true; ADOConnection1.Open; dbname:=tstringlist.Create; ADOConnection1.GetTableNames(dbname,false); fieldname:=tstringlist.Create; ADOConnection1.GetFieldNames(dbname.Strings[0],fieldname); rzlistview2.Items.Clear; for icount:=0 to fieldname.Count-1 do begin rzlistview2.Items.BeginUpdate; ListItem:=rzlistview2.Items.Add ; ListItem.Caption:=fieldname.Strings[icount]; rzlistview2.Items.EndUpdate; end; rzlistview1.SetFocus; end; end;
ADOConnection.GetTableNames
或
ADOConnection.OpenSchema
这两种方法多提示错误?
var
str,AppPath:string;
dbname,fieldname:tstringlist;
iCount,nCount:integer;
ListItem:TListItem;
begin
DataModule3.ADOTable4.Locate('tablename',searchedit.Text,[loCaseInsensitive,loPartialKey]);
for nCount:=0 to rzlistview1.Items.Count-1 do
begin
if rzlistview1.Items[nCount].Caption=DataModule3.ADOTable4.FieldByName('tablename').asstring then
begin
rzlistview1.Items[nCount].Selected:=true;
end;
end;
if rzlistview1.Selected<>nil then
begin
ADOConnection1.Close;
ADOConnection1.Connected:=false;
ADOConnection1.ConnectionString:='';
str:='Provider=Microsoft.Jet.OLEDB.4.0;Password="";User ID=Admin;Data Source=';
AppPath:=ExtractFileDir(Application.ExeName);
str:=str+AppPath+'\bsdata\'+rzlistview1.Selected.Caption;
ADOConnection1.ConnectionString:=str+'.mdb;Mode=Share Deny None;'+'Extended Properties="";Jet OLEDB:System database="";'+'Jet OLEDB:Registry Path="";'+'Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=4;'+'Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;'+'Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";'+'Jet OLEDB:Create System Database=False;'+'Jet OLEDB:Encrypt Database=False;'+'Jet OLEDB:Don''t Copy Locale on Compact=False;'+'Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False';
ADOConnection1.Connected:=true;
ADOConnection1.Open;
dbname:=tstringlist.Create;
ADOConnection1.GetTableNames(dbname,false);
fieldname:=tstringlist.Create;
ADOConnection1.GetFieldNames(dbname.Strings[0],fieldname);
rzlistview2.Items.Clear;
for icount:=0 to fieldname.Count-1 do
begin
rzlistview2.Items.BeginUpdate;
ListItem:=rzlistview2.Items.Add ;
ListItem.Caption:=fieldname.Strings[icount];
rzlistview2.Items.EndUpdate;
end;
rzlistview1.SetFocus;
end;
end;
var
str,AppPath:string;
dbname,fieldname:tstringlist;
iCount,nCount:integer;
ListItem:TListItem;
begin
DataModule3.ADOTable4.Locate('tablename',searchedit.Text,[loCaseInsensitive,loPartialKey]);
for nCount:=0 to rzlistview1.Items.Count-1 do
begin
if rzlistview1.Items[nCount].Caption=DataModule3.ADOTable4.FieldByName('tablename').asstring then
begin
rzlistview1.Items[nCount].Selected:=true;
end;
end;
if rzlistview1.Selected<>nil then
begin
ADOConnection1.Close;
ADOConnection1.Connected:=false;
ADOConnection1.ConnectionString:='';
str:='Provider=Microsoft.Jet.OLEDB.4.0;Password="";User ID=Admin;Data Source=';
AppPath:=ExtractFileDir(Application.ExeName);
str:=str+AppPath+'\bsdata\'+rzlistview1.Selected.Caption;
ADOConnection1.ConnectionString:=str+'.mdb;Mode=Share Deny None;'+'Extended Properties="";Jet OLEDB:System database="";'+'Jet OLEDB:Registry Path="";'+'Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=4;'+'Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;'+'Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";'+'Jet OLEDB:Create System Database=False;'+'Jet OLEDB:Encrypt Database=False;'+'Jet OLEDB:Don''t Copy Locale on Compact=False;'+'Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False';
ADOConnection1.Connected:=true;
ADOConnection1.Open;
dbname:=tstringlist.Create;
ADOConnection1.GetTableNames(dbname,false);
fieldname:=tstringlist.Create;
ADOConnection1.GetFieldNames(dbname.Strings[0],fieldname);
rzlistview2.Items.Clear;
for icount:=0 to fieldname.Count-1 do
begin
rzlistview2.Items.BeginUpdate;
ListItem:=rzlistview2.Items.Add ;
ListItem.Caption:=fieldname.Strings[icount];
rzlistview2.Items.EndUpdate;
end;
rzlistview1.SetFocus;
end;
end;
var
str,AppPath:string;
dbname,fieldname:tstringlist;
iCount,nCount:integer;
ListItem:TListItem;
begin
DataModule3.ADOTable4.Locate('tablename',searchedit.Text,[loCaseInsensitive,loPartialKey]);
for nCount:=0 to rzlistview1.Items.Count-1 do
begin
if rzlistview1.Items[nCount].Caption=DataModule3.ADOTable4.FieldByName('tablename').asstring then
begin
rzlistview1.Items[nCount].Selected:=true;
end;
end;
if rzlistview1.Selected<>nil then
begin
ADOConnection1.Close;
ADOConnection1.Connected:=false;
ADOConnection1.ConnectionString:='';
str:='Provider=Microsoft.Jet.OLEDB.4.0;Password="";User ID=Admin;Data Source=';
AppPath:=ExtractFileDir(Application.ExeName);
str:=str+AppPath+'\bsdata\'+rzlistview1.Selected.Caption;
ADOConnection1.ConnectionString:=str+'.mdb;Mode=Share Deny None;'+'Extended Properties="";Jet OLEDB:System database="";'+'Jet OLEDB:Registry Path="";'+'Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=4;'+'Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;'+'Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";'+'Jet OLEDB:Create System Database=False;'+'Jet OLEDB:Encrypt Database=False;'+'Jet OLEDB:Don''t Copy Locale on Compact=False;'+'Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False';
ADOConnection1.Connected:=true;
ADOConnection1.Open;
dbname:=tstringlist.Create;
ADOConnection1.GetTableNames(dbname,false);
fieldname:=tstringlist.Create;
ADOConnection1.GetFieldNames(dbname.Strings[0],fieldname);
rzlistview2.Items.Clear;
for icount:=0 to fieldname.Count-1 do
begin
rzlistview2.Items.BeginUpdate;
ListItem:=rzlistview2.Items.Add ;
ListItem.Caption:=fieldname.Strings[icount];
rzlistview2.Items.EndUpdate;
end;
rzlistview1.SetFocus;
end;
end;
[email protected]