使用Delphi我需要创建一个包含特定表结构(没有数据)的类,包括所有字段,约束,外键,索引。目标是拥有“标准”表格,比较它们并找到差异。这个东西应该包含在我的大项目中,所以我不能使用任何“外部”比较器。此外,这个功能可能会扩展,所以我需要有自己的实现。问题是如何检索此信息,具有连接字符串并知道特定的表名称。正在使用SQL Server 2008。
答案 0 :(得分:3)
如果你看一下Delphi的来源,就是这样做的:
从表中选择*,其中1 = 2
更新:
可以使用Information Schema Views检索元数据,例如约束:
SELECT * FROM databaseName.INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE
Where TABLE_NAME='tableName'
答案 1 :(得分:0)
自从我接触Delphi以来已经很长时间了,但我记得我曾经做过的几件事。喜欢
select top 0 * from table
返回0条记录但是TQuery被元数据“填充”。或者我认为在TClientDataSet上你可以将行设置为-1,这具有相同的效果。
正如我所说,自从我在Delphi中修改并且使用BDE而不是本机客户端以来,已经很长时间了,所以这可能都是无用的信息。
希望这会有所帮助。