FMX 中判读表是否存在。

老菜 3月前 271

在移动SQLite本地数据库开发中,有时会遇到数据库在开发过程中有变更,比如增加了新表,如果改成覆盖安装Sqlite数据库,则会造成用户数据丢失,所以,一旦发生变更,最安全的方法是通过程序去判断表是否存在,如果不存在就创建这个表。以下方法与VCL中的实现稍有区别。

function TForm1.TableExist(const TableName : string; const FieldName : string) : boolean;
var
  List : TStringList;
begin
 List := TStringList.Create;
 FDCcon1.GetTableNames('', TableName, '', list);
 if List.IndexOf(FieldName) >= 0 then
   result := true
 else
 result := false;
 List.Free;
end;

//-----------------------------------

调用函数判断表 t 是否存在。


procedure TForm1.btn1Click(Sender: TObject);
begin
   if TableExist('','t') then
   ShowMessage('存在')
   else
   ShowMessage('不存在');

end;


以上代码在Delphi 10.2.3  Win7以及android 5.0上通过。


最新回复 (0)
返回