以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  关于备注型数据的疑问  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=7080)

--  作者:cxabc123
--  发布时间:2010/5/12 8:10:00
--  关于备注型数据的疑问
字符 String
备注 String
日期 Date
逻辑 Boolean
整数 Integer
无此类型  
短整数 Short
微整数 Byte
双精度小数 Double
单精度小数 Single
高精度小数 Decimal

 

上面是内部数据表的数据类型,其中备注型和字符型是一样的,那么在代码添加备注型列的时候应该怎么处理,请老大指点


--  作者:狐狸爸爸
--  发布时间:2010/5/12 8:11:00
--  

代码只能添加字符型


--  作者:cxabc123
--  发布时间:2010/5/12 10:06:00
--  
 

Dim dtb As New DataTableBuilder("统计")
dtb.AddDef("产品", GetType(String), 32)
dtb.AddDef("客户", GetType(String), 32)
dtb.AddDef("数量", GetType(Integer))
dtb.AddDef("金额", GetType(Double))
dtb.Build()
MainTable
= Tables("统计")

 

在这一段代码中,“GetType(String)”能不能赋值给一个变量,如:dim f as string = GetType(String)

如果不行,应该如何赋值给变量

通过赋值给变量,使代码变为:dtb.AddDef("客户", f,32)

请老大指点

[此贴子已经被作者于2010-5-12 10:15:47编辑过]

--  作者:狐狸爸爸
--  发布时间:2010/5/12 10:21:00
--  
Dim f As Type = GetType(String)
--  作者:cxabc123
--  发布时间:2010/5/12 10:27:00
--  

 

下来,我再试一下

我的想法是在表的“数据类型”列输入数据类型,“数据类型”列为字符型列

然后定义dim f Type = currenttable.current("数据类型")

使得实现:dtb.AddDef("客户", f,32)

f 的值可以根据“数据类型”列输入的String、Date、Boolean等动态发生变化,可以动态地根据需要给某个表添加临时列

目前动态添加列的其他代码已经写好了,就是dtb.AddDef("客户", f,32)这个代码中的数据类型没有办法使用变量代替

老大有没有好办法解决

[此贴子已经被作者于2010-5-12 10:40:00编辑过]

--  作者:狐狸爸爸
--  发布时间:2010/5/12 10:38:00
--  

dim v As String = "类型"
Dim t As type

Select case v

    Case "String"

       t= GetType(String)

    Case "Date"

      t= GetType(Date)

    \'.....

End Select

 


--  作者:cxabc123
--  发布时间:2010/5/12 10:42:00
--  
这种办法我也想过了,因为还要判断其他的条件,如果用你说的这种办法,代码就显得很繁琐,如果能够用变量的话,代码就会简单多了
--  作者:狐狸爸爸
--  发布时间:2010/5/12 10:45:00
--  
没有别的办法
--  作者:cxabc123
--  发布时间:2010/5/12 10:47:00
--  
那就用你说的办法吧,谢谢老大的指点。
--  作者:狐狸爸爸
--  发布时间:2010/5/12 10:53:00
--  

我的办法在6楼啊