急!!!没分了,高手请帮忙。BDE和ADO的问题(动态建立数据库)(10分)

  • 主题发起人 主题发起人 awind616
  • 开始时间 开始时间
A

awind616

Unregistered / Unconfirmed
GUEST, unregistred user!
database1.gettablename(alist,false)和adoconnection1.gettablename(alist,false)
得到的结果相差很大(后台都为MS SQL SERVER),BDE真烦。请问高手,使用BDE怎样才能得到如
使用ado时的结果。因为本人是做系统集成的,需要实现对不同数据库类型的访问,并对中心数据库
进行初始化(动态建立数据库结构)和更新数据。
还有个问题,Table1.fielddefs.add((table2.Fields.FieldName,table2..Fields.DataType,table2.Fields.Size, table2..Fields.Required);
Table1.GreateTable;
在上面的语句中可以对不同的数据库类型建立表格,但对于字段类型的长度和是否允许为NULL 却实现不了(或有随意性)。
建立索引时:Table1.AddIndex(const Name, Fields: string; Options: TIndexOptions);
不同的数据库类型具有不同的Options选项,怎样实现。
建立约束关系的情况也一样。
头头要求我把这些功能编写成一个控件(实现数据库的初始化、更新数据、动态配置连接等)

我的邮箱是: awind616@21cn.com 欢迎来信指教。
 
最好不要用Table来建立表,用SQL语句。
各种表支持那些东西,你自己去看帮助,没中数据库都不一样的
 
怎么都没有人回答,高手们太谦虚了。
急!!!!
尤其是这个问题:
Table1.fielddefs.add((table2.Fields.FieldName,table2..Fields.DataType,table2.Fields.Size, table2..Fields.Required);
Table1.GreateTable;
建立表格后,表格的字段总是允许为NULL,而源表格(Table2所连接的表)有些字段是不允许为NULL的,
按理说在Table2打开的情况下,Table2.Fields.Required应该能够有效带入前面的语句。
 

我也想过用SQL语句来建表,但太过于麻烦和复杂。在DELPHI中DataType有十几中类型,光判断这些就够了。
而建立索引、约束和关键字的时候也需要判断。
帮助我看过很多次了,就是DELPHI的有关源代码都看过了。

 
这些东西最好是SQL语句。否则很难达到要求的。
特别是一些高级数据库,更要用SQL语句。
如果你想拷贝结构,可以用Batchmove.
如果是SQL Server,也可以用select * into destable from srctable
 
我的源数据库是任意的(Sybase,Oracle,Access,Paradox,DB2,Foxpro等),目的数据库为sql server。
要实现的功能就是拷贝结构,然后才是转移数据。源数据库是不确定的,程序运行时根据需要输入相关的
源数据库信息,然后动态连接,才拷贝结构。
如果使用CreateTable 来实现的话是比较简单,但就差那个字段是否为NULL 实现不了。
 
是不是我的问题说的不够清楚,还是大富翁论坛已今非昔比。想当年,大富翁论坛可是个
藏龙卧虎之地。期待着...
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
后退
顶部