var SL: TStrings; index: Integer; sqltxt : string; begin SL := TStringList.Create; ADOCONN.GetTableNames(SL,FALSE); SL.Free; end;//adoconn连接到access数据库,sl中保存数据库中数据表的名称
没有专门的属性,楼上的方法已法很好了,可以把数据库中所有的表列出来,如果你要检查是否存在,你可以这样:(用异常处理) with adoquery do begin sql.clear(); sql.add('SELECT * FROM tablename'); //tablename是你要检查的表名 try open; except Exception.Raise(tableName+'不存在'); //在这里你可以把这个表再重新建立一次 Abort; end; end;
同一楼: procedure TfrmSec.btnAddClick(Sender: TObject); var tName: TStrings; begin tName := TStringList.Create; acSec.GetTableNames(tName, false); if tName.IndexOf('staff') >= 0 then ShowMessage('表staff已存在'); tName.Free; ... end;
SL: TStrings;
index: Integer;
sqltxt : string;
begin
SL := TStringList.Create;
ADOCONN.GetTableNames(SL,FALSE);
SL.Free;
end;//adoconn连接到access数据库,sl中保存数据库中数据表的名称
with adoquery do
begin
sql.clear();
sql.add('SELECT * FROM tablename'); //tablename是你要检查的表名
try
open;
except
Exception.Raise(tableName+'不存在');
//在这里你可以把这个表再重新建立一次
Abort;
end;
end;
procedure TfrmSec.btnAddClick(Sender: TObject);
var
tName: TStrings;
begin
tName := TStringList.Create;
acSec.GetTableNames(tName, false);
if tName.IndexOf('staff') >= 0 then
ShowMessage('表staff已存在');
tName.Free;
...
end;