如何使用 AdsCopyTableStructure 创建 ttAdsCDX 表
使用 Advantage Server 9x,我尝试使用以下代码创建 DBF/CDX 表结构的副本:
table1.AdsCopyTableStructure(d.AdsConnectionTemp.connectPath+'table.dbf');
创建的表的类型为 ttAdsADT,即使原始表是 ttAdsCDX。
我尝试在结果表上使用 AdsConvertTable,但它弹出一个异常,抱怨该操作无法在空闲表上完成。
有办法做到这一点吗?
Using Advantage Server 9x, I am trying to create a copy of a DBF/CDX table structure using the following code:
table1.AdsCopyTableStructure(d.AdsConnectionTemp.connectPath+'table.dbf');
The table that is created is of the type ttAdsADT, even though the original table is ttAdsCDX.
I tried using AdsConvertTable on the resulting table, but it pops an exception complaining that the operation cannot be done on free tables.
Any way to do this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我无法让这个函数工作,但通过使用以下代码想出了一个解决方法:
I was not able to get this function to work, but came up with a work around by using the following code:
你有几个选择。
如果您不介意有一条记录,您可以随时执行
Select top 1 * into mynewtable.dbf from oldtable ,
这很快
第二个选项是执行第一种方法,将其保存到 adt 文件(这是默认值)然后打开该表并使用 ADSConvertTable 函数创建 DBF。
ADTTable.ADSTableConvert('dbftable.dbf',ttADSCDX);
You have a couple of options.
If you don't mind having a single record you can always do
Select top 1 * into mynewtable.dbf from oldtable
which is quick
A second option would be to do your first method, saving it to an adt file (which is the default) then open THAT table and use ADSConvertTable function to create the DBF.
ADTTable.ADSTableConvert('dbftable.dbf',ttADSCDX);
13 年后它仍然有效:))
It is still working after 13 years :))