Foxtable(狐表)用户栏目专家坐堂 → 请教:如何用代码建立临时表?


  共有3383人关注过本帖树形打印复制链接

主题:请教:如何用代码建立临时表?

帅哥哟,离线,有人找我吗?
jerzhh
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:166 积分:1467 威望:0 精华:0 注册:2014/3/4 15:30:00
请教:如何用代码建立临时表?  发帖心情 Post By:2014/7/12 11:16:00 [显示全部帖子]

假如我现在有一张内部数据表 TableA

请问我该如何在项目运行中用代码建立一个类型为 临时表 的空表 TableB, 而且TableB的结构与TableA完全一致?


 回到顶部
帅哥哟,离线,有人找我吗?
jerzhh
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:166 积分:1467 威望:0 精华:0 注册:2014/3/4 15:30:00
  发帖心情 Post By:2014/7/12 11:31:00 [显示全部帖子]

OK

问题是如何获取源表TableA各个列的数据类型呢?


 回到顶部
帅哥哟,离线,有人找我吗?
jerzhh
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:166 积分:1467 威望:0 精华:0 注册:2014/3/4 15:30:00
  发帖心情 Post By:2014/7/12 21:04:00 [显示全部帖子]

以下是引用Bin在2014-7-12 11:34:00的发言:
http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=35615&skin=0

 

Dim dt As DataTable
Dim cmd As New SQLCommand
cmd.CommandText = "Select a.name As colname, b.name As typename from syscolumns a,systypes b where a.xusertype=b.xusertype And a.id=object_id('TableA')"
dt = cmd.ExecuteReader()

 

请问是这样吗?

 

在命令窗口运行结果如下:

 

 

 


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20140712210021.jpg
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
jerzhh
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:166 积分:1467 威望:0 精华:0 注册:2014/3/4 15:30:00
  发帖心情 Post By:2014/7/13 9:11:00 [显示全部帖子]

以下是引用逛逛在2014-7-12 22:47:00的发言:

 

如果你的表 TableA 已经加载

 

临时表 用  

Dim dtb As New DataTableBuilder("B")
For Each dc As DataCol In DataTables("A").DataCols
    dtb.AddDef(dc.name,dc.DataType)
Next
dtb.Build

 

谢谢啦!我要的就是它!

 

我在逛大的基础上稍稍做了点改动,这样就把A表的字符长度也复制过来了。

 

Dim dtb As New DataTableBuilder("B")
For Each dc As DataCol In DataTables("A").DataCols
If dc.IsString Then
    dtb.AddDef(dc.name,dc.DataType,dc.MaxLength)
Else
    dtb.AddDef(dc.name,dc.DataType)
End If
Next
dtb.Build

 


 回到顶部