Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共14 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:关于动态建立表的问题

1楼
cxabc123 发表于:2010/8/20 15:54:00

老大,我想在项目中建一张表,用于动态创建表,有:表名、列名、列类型 等列,然后在增加表的代码中

Dim Builder As New ADOXBuilder
Dim
tbl As ADOXTable
Builder.Open()
tbl = Builder.NewTable(
"订单") '创建表
With
tbl
    .AddColumn(
"日期" ,ADOXType.DateTime)
    .AddColumn(
"产品" ,ADOXType.String, 12)
    .AddColumn(
"客户" ,ADOXType.String, 20)
    .AddColumn(
"数量" ,ADOXType.Integer)
    .AddColumn(
"备注" ,ADOXType.Text)
End With
Builder.AddTable(tbl)
'增加表
Builder.Close()

 

 

将ADOXType.DateTime用“列类型”中的值代替,这时候“列类型”列的数据类型应该如何设置,或者这样的代码应该如何来写,

比如:

With tbl
    .AddColumn(列名
,列类型)
 
End With

肯请老大指点

[此贴子已经被作者于2010-8-20 15:55:46编辑过]
2楼
狐狸爸爸 发表于:2010/8/20 15:56:00
用Select Case 逐个根据表中的值来判断对应的列类型,然后增加列。
3楼
cxabc123 发表于:2010/8/20 15:57:00
没有跟简单的办法,也就是在增加表的时候批量去增加列吗
[此贴子已经被作者于2010-8-20 15:57:04编辑过]
4楼
狐狸爸爸 发表于:2010/8/20 15:58:00

已经很简单了

5楼
cxabc123 发表于:2010/8/20 16:09:00
老大,能帮忙写一段吗,我试了好多便了,就是搞不定
6楼
czy 发表于:2010/8/20 16:11:00
以下是引用cxabc123在2010-8-20 15:54:00的发言:

老大,我想在项目中建一张表,用于动态创建表,有:表名、列名、列类型 等列,然后在增加表的代码中

Dim Builder As New ADOXBuilder
Dim
tbl As ADOXTable
Builder.Open()
tbl = Builder.NewTable(
"订单") '创建表
With
tbl
    .AddColumn(
"日期" ,ADOXType.DateTime)
    .AddColumn(
"产品" ,ADOXType.String, 12)
    .AddColumn(
"客户" ,ADOXType.String, 20)
    .AddColumn(
"数量" ,ADOXType.Integer)
    .AddColumn(
"备注" ,ADOXType.Text)
End With
Builder.AddTable(tbl)
'增加表
Builder.Close()

 

 

将ADOXType.DateTime用“列类型”中的值代替,这时候“列类型”列的数据类型应该如何设置,或者这样的代码应该如何来写,

比如:

With tbl
    .AddColumn(列名
,列类型)
 
End With

肯请老大指点

[此贴子已经被作者于2010-8-20 15:55:46编辑过]

 

不妨将你做的东东传上来。

7楼
cxabc123 发表于:2010/8/20 16:12:00
做来做去,到现在还没有成功一点呢,思路都没有成形,不知道该如何做
8楼
狐狸爸爸 发表于:2010/8/20 16:13:00
Dim Builder As New ADOXBuilder
Dim tbl As ADOXTable
Builder.Open()
tbl = Builder.NewTable("订单") '创建表
For Each dr As DataRow In Tables("xxx").DataRows
    With tbl
        Select Case dr("列类型")
            case "字符型"
               增加字符型列
            case "日期型"
               增加日期型列
            '...
    End With
Next
Builder.AddTable(tbl) '增加表
[此贴子已经被作者于2010-8-20 16:12:47编辑过]
9楼
cxabc123 发表于:2010/8/20 16:16:00
原先是用论坛上介绍的SQL语言增加表,现在老大公布了他的箱底货,我想改用这个办法来做,但是不知道如何才能做好。原先的那个办法比较简单,但是新增加的表不能自动调出来。现在老大的这个办法可以自动调出表来,但就是比较复杂。请各位帮忙了
10楼
cxabc123 发表于:2010/8/20 16:17:00
这个方法如果实现的话,设计的项目数据库的扩展功能就很强大了,个性化会进一步增强
[此贴子已经被作者于2010-8-20 16:18:16编辑过]
共14 条记录, 每页显示 10 条, 页签: [1] [2]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03906 s, 2 queries.