Foxtable(狐表)用户栏目专家坐堂 → 判断列类型问题


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

主题:判断列类型问题

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


加好友 发短信
等级:小狐 帖子:393 积分:3723 威望:0 精华:0 注册:2013/10/9 23:09:00
判断列类型问题  发帖心情 Post By:2015/8/12 21:28:00 [只看该作者]

sql生成的临时dt,没办法区分出字符型列和备注型列? 因为dc.maxlength均是-1,在不把外部数据源的表load的情况下,有其他办法判断表相应列的列类型吗?

 

其实是在sql分组统计和交叉统计时,发现备注型列无法做为分组列,所以需要将其排除

[此贴子已经被作者于2015/8/12 21:36:47编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/12 21:39:00 [只看该作者]

不需要排除,备注列也可以,只需要转换成字符列,就能分组。

 

sqlserver数据这样写    convert(varchar, 备注列)

 

access这样写   Cstr(备注列)


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/12 21:44:00 [只看该作者]

谁说不能获取,备注列,我直接去maxlength值,就是一个很大的值。

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


加好友 发短信
等级:小狐 帖子:393 积分:3723 威望:0 精华:0 注册:2013/10/9 23:09:00
  发帖心情 Post By:2015/8/12 21:49:00 [只看该作者]

您用SQLCrossTableBuilder或SQLGroupTableBuilder试试能行吗?我试了确实不行,字符型列可以,备注型列不行


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/12 21:51:00 [只看该作者]

可以用表达式啊,看2楼的语法

 

可以向Groups增加表达式分组列,语法为:

Groups.AddExp(Name, Expression)
Groups.AddExp(Name, Expression,Caption)

Name:       字符型,指定列名
Expression: 字符型,指定表达式。
Caption:    字符型,指定标题


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


加好友 发短信
等级:小狐 帖子:393 积分:3723 威望:0 精华:0 注册:2013/10/9 23:09:00
  发帖心情 Post By:2015/8/13 0:01:00 [只看该作者]

因为涉及到后面的编程逻辑,不能以表达式列做为分组列,那就还回到最初的吧,怎样判断外部数据表的列类型?

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


加好友 发短信
等级:小狐 帖子:393 积分:3723 威望:0 精华:0 注册:2013/10/9 23:09:00
  发帖心情 Post By:2015/8/13 0:14:00 [只看该作者]

另外,SQLCrossTableBuilder或SQLGroupTableBuilder不能将备注型列做为分组列,这是有原因的吗?还是是个遗漏呢?求解

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/13 9:10:00 [只看该作者]

1、去maxlength我测试没有问题啊;

 

2、即便备注列,也可以分组啊。


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


加好友 发短信
等级:小狐 帖子:393 积分:3723 威望:0 精华:0 注册:2013/10/9 23:09:00
  发帖心情 Post By:2015/8/13 11:54:00 [只看该作者]

我的被统计表(外部数据源,没有datatable)是动态加载的,结果用SQLCrossTableBuilder或SQLGroupTableBuilder备注型列就无法参与统计,maxlenght也是用的sqlcommand调进来表结构,生成临时dt,并对列类型进行判断,maxlength确实均为-1.  我在想是不是问题出在动态加载的表备注型列不能统计,而静态表是可以统计的呢?

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/13 12:02:00 [只看该作者]

1、不要用sqlCommand调进来。直接用fill函数 http://www.foxtable.com/help/topics/2912.htm

 

2、SQLCrossTableBuilder或SQLGroupTableBuilder如果想用备注列分组,就转成字符列就行啊。

 

要不你上次一个例子说明到底想做什么


 回到顶部
总数 22 1 2 3 下一页