gpt4 book ai didi

delphi - IBX TIBDatabase.GetTableNames 不显示新创建的表

转载 作者:行者123 更新时间:2023-12-03 15:50:56 26 4
gpt4 key购买 nike

如果我在 Firebird 数据库中创建一个新表,然后调用:

TIBDatabase.GetTableNames,新创建的表没有被枚举:我首先要发出:

IBDatabase1.Connected := False;
IBDatabase1.Connected := True;

然后我可以调用 TIBDatabase.GetTableNames 并枚举新创建的表。

以下函数使用 TIBDatabase.GetTableNames 来确定作为参数传递的给定表名称是否存在

function TableExists(const aTableName: String): Boolean;
var
ListOfExistingTables: TStringList;
begin
Result:= False;
ListOfExistingTables:= TStringList.Create;
try
IBDatabase1.GetTableNames(ListOfExistingTables);
Result:= (ListOfExistingTables.IndexOf(aTableName) > - 1);
finally
ListOfExistingTables.Free;
end;
end;

最佳答案

在 Firebird 中,甚至元数据更改也在事务中隔离。因此,您必须提交用于创建表的事务。也许您还必须提交 IBX 用来读取表名的事务。

关于delphi - IBX TIBDatabase.GetTableNames 不显示新创建的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7951116/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com