ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add('select table_name from user_tables'); ADOQuery1.Open; IF ADOQuery1.RecordCount > 0 THEN//有 else//没有
用ADO存取的数据库: function TDM.MyTableExists(ATableName: String): Boolean; //判断给定表是否存在 var SL: TStrings; I: Integer; S: String; begin Result := False; S := UpperCase(ATableName); SL := TStringList.Create; try DM.ADOConnection.GetTableNames(SL, False); //取得表名 for I := 0 to (SL.Count - 1) do begin if UpperCase(SL[I])= S then begin Result := True; Break; end;{if} end;{for} finally SL.Free; end;{try} end;调用: if MyTableExists('ATableName') then ShowMessage('已存在');
创建表直接用sql语句 CREATE TABLE TmpTable1 ( date_in datetime, user_id int )
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select table_name from user_tables');
ADOQuery1.Open;
IF ADOQuery1.RecordCount > 0 THEN//有
else//没有
function TDM.MyTableExists(ATableName: String): Boolean; //判断给定表是否存在
var
SL: TStrings;
I: Integer;
S: String;
begin
Result := False;
S := UpperCase(ATableName);
SL := TStringList.Create;
try
DM.ADOConnection.GetTableNames(SL, False); //取得表名
for I := 0 to (SL.Count - 1) do
begin
if UpperCase(SL[I])= S then
begin
Result := True;
Break;
end;{if}
end;{for}
finally
SL.Free;
end;{try}
end;调用:
if MyTableExists('ATableName') then ShowMessage('已存在');
CREATE TABLE TmpTable1
(
date_in datetime,
user_id int
)