Foxtable(狐表)用户栏目专家坐堂 → 怎么获得数据表的列定义


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

主题:怎么获得数据表的列定义

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


加好友 发短信
等级:童狐 帖子:265 积分:1806 威望:0 精华:0 注册:2014/3/29 9:27:00
怎么获得数据表的列定义  发帖心情 Post By:2014/11/2 0:50:00 [只看该作者]

怎么获得数据表的列定义,如列的类型,是不是允许为空等。。。
[此贴子已经被作者于2014-11-2 0:50:59编辑过]

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


加好友 发短信
等级:童狐 帖子:265 积分:1806 威望:0 精华:0 注册:2014/3/29 9:27:00
  发帖心情 Post By:2014/11/2 1:23:00 [只看该作者]

发现foxtable里面只有_identify 的 AllowDBNull是False,其他的都是True?还有数据类型是怎么获得了?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/2 9:27:00 [只看该作者]

For Each dc As DataCol In DataTables("表A").DataCols
    output.show(dc.DataType.name)
Next


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/2 9:31:00 [只看该作者]

For Each dc As object In DataTables("表A").basetable.Columns
    'If DataTables("表A").DataCols.Contains(dc.ColumnName)
        output.show(dc.AllowDBNull & "  " & dc.Datatype.name)
    'End If
Next

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


加好友 发短信
等级:童狐 帖子:265 积分:1806 威望:0 精华:0 注册:2014/3/29 9:27:00
  发帖心情 Post By:2014/11/2 10:44:00 [只看该作者]

也找到了上面的数据,关键是 foxtable 里面AllowDBNull 不是后台数据库的真正定义,只有_identify不能为空,其他的字段都是允许为空的。。
可能和Addnew相关吧,每次新增记录,都产生一条空记录,但是这是_identify已经有值了。。
能获得后台数据库的真正定义(能不能为空,定义长度等。。。)吗?
[此贴子已经被作者于2014-11-2 10:45:19编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/2 10:46:00 [只看该作者]

 不理解你什么意思,就是直接获取后台的啊,你设置成立能不能空,就直接获取啊


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


加好友 发短信
等级:童狐 帖子:265 积分:1806 威望:0 精华:0 注册:2014/3/29 9:27:00
  发帖心情 Post By:2014/11/2 10:56:00 [只看该作者]

我测试过。。。foxtable定义表结构时是没有AllowNull的选项了,数据库设置不能为空,但是AllowDBNull还是True,只有_identify的AllowDBNull才是False

[此贴子已经被作者于2014-11-2 11:03:48编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/2 11:07:00 [只看该作者]

 哦,不是直接获取后台表格的。

 

 如果要获取后台表格结构,就必须用sql语句获取,具体语法你可以百度一下。


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


加好友 发短信
等级:童狐 帖子:265 积分:1806 威望:0 精华:0 注册:2014/3/29 9:27:00
  发帖心情 Post By:2014/11/2 12:32:00 [只看该作者]

找到了。。。谢谢
SELECT type_Name(col.xtype) "TYPE", col.length, col.IsNullable, * from [数据库名称].dbo.syscolumns col, [数据库名称].dbo.sysobjects tab 
where col.id =tab.id And tab.name='表名'

 回到顶部