表中存在列

use*_*332 1 delphi

您好,我正在使用 Delphi7 和 Oracle ODBC 我正在开发“测试知识”程序。如果该列不存在,我想插入一个表。

我可以做这个 :

我有 5 个按钮(A、B、C、D、E)。

如果我点击 A ..

我用...

1) adoquery1 sql 到..

ALTER TABLE test
ADD COLUMN col1 INT 
Run Code Online (Sandbox Code Playgroud)

2) adoquery2 sql 插入....

然后我单击“下一步”更改问题,效果很好,但是当我返回上一个问题时,我想看到所有 5 个按钮可见= false,因为这个问题已得到解答

我怎样才能做到这一点?因此我需要查找表中是否存在列

Jør*_*eit 5

你的意思是

Button1.Visible := not Assigned(myDataSet.FindField('col1'));
Run Code Online (Sandbox Code Playgroud)

  • 那么,如果数据集中存在字段(列),“FindField”就会返回该字段。如果不是,则返回“nil”。请注意,当您直接对数据库执行 sql 语句时,必须刷新/更新连接到该表的所有数据集以反映数据库中的更改。我不建议您使用这种方法来解决这个问题。 (3认同)