以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  创建表或临时表,其列名NAME,能不能用引用变量名来实现创建一个列  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=40798)

--  作者:foxtable1
--  发布时间:2013/9/29 21:05:00
--  创建表或临时表,其列名NAME,能不能用引用变量名来实现创建一个列

这样的句子为何不能用,如:

dim s as string

s="aaaaaa"

Dim dtb As New DataTableBuilder("表1")
dtb.AddDef(s, GetType(String), 32)
dtb.Build()

为何不能用变量S来创建一个列?这样的功能能实现吗?

我想用一个表,来作为我想生成的临时表结构的列来源,而不用在代码中去输列名。


--  作者:foxtable1
--  发布时间:2013/9/29 21:07:00
--  

这样的话,我就可以加上一些判断条件,动态生成我想要的临时表。


--  作者:有点甜
--  发布时间:2013/9/29 21:09:00
--  
 肯定可以啊。放心去做。
--  作者:foxtable1
--  发布时间:2013/9/29 21:13:00
--  
但是提示adddef方法的语法有错误
--  作者:有点甜
--  发布时间:2013/9/29 21:18:00
--  
 你的代码怎样写的?你1楼的代码我执行可以。
--  作者:foxtable1
--  发布时间:2013/9/29 21:29:00
--  

我试了采用变量是可以的。

但如果变量是row变量,则不行,为何?

Dim dtb As New DataTableBuilder("表1")
Dim i As Integer=Tables("表A").Rows.count
For j As Integer =1 To i-1
Dim r As DataRow=DataTables("表A").DataRows(i)
dtb.AddDef(r("第一列"), Gettype(String), 32)
Next
dtb.Build()
MainTable=Tables("表1")。

则无法生成临时表


--  作者:foxtable1
--  发布时间:2013/9/29 21:36:00
--  

上面的代码保存的话,没有提示有错误,但运行后,提示一串错误字符,并且没有出现临时表“表1”。上述代码有误吗?


--  作者:有点甜
--  发布时间:2013/9/29 21:36:00
--  
 i写错了

Dim dtb As New DataTableBuilder("表1")
Dim i As Integer=Tables("表A").Rows.count
For j As Integer = 1 To i-1
    Dim r As Row=Tables("表A").Rows(j)
    dtb.AddDef(r("第一列"), Gettype(String), 32)
Next
dtb.Build()
MainTable=Tables("表1")

--  作者:foxtable1
--  发布时间:2013/9/29 21:40:00
--  

嗯,看见了。

谢谢。

创建非临时表,也能用这样的方法吗?


--  作者:有点甜
--  发布时间:2013/9/29 21:42:00
--  
 也是可以的。