以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 判断列类型问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=73121) |
-- 作者:hdffzxf -- 发布时间:2015/8/12 21:28:00 -- 判断列类型问题 sql生成的临时dt,没办法区分出字符型列和备注型列? 因为dc.maxlength均是-1,在不把外部数据源的表load的情况下,有其他办法判断表相应列的列类型吗?
其实是在sql分组统计和交叉统计时,发现备注型列无法做为分组列,所以需要将其排除 [此贴子已经被作者于2015/8/12 21:36:47编辑过]
|
-- 作者:大红袍 -- 发布时间:2015/8/12 21:39:00 -- 不需要排除,备注列也可以,只需要转换成字符列,就能分组。
sqlserver数据这样写 convert(varchar, 备注列)
access这样写 Cstr(备注列) |
-- 作者:大红袍 -- 发布时间:2015/8/12 21:44:00 -- 谁说不能获取,备注列,我直接去maxlength值,就是一个很大的值。 |
-- 作者:hdffzxf -- 发布时间:2015/8/12 21:49:00 -- 您用SQLCrossTableBuilder或SQLGroupTableBuilder试试能行吗?我试了确实不行,字符型列可以,备注型列不行 |
-- 作者:大红袍 -- 发布时间:2015/8/12 21:51:00 -- 可以用表达式啊,看2楼的语法
可以向Groups增加表达式分组列,语法为: Groups.AddExp(Name, Expression) Name: 字符型,指定列名 |
-- 作者:hdffzxf -- 发布时间:2015/8/13 0:01:00 -- 因为涉及到后面的编程逻辑,不能以表达式列做为分组列,那就还回到最初的吧,怎样判断外部数据表的列类型?
|
-- 作者:hdffzxf -- 发布时间:2015/8/13 0:14:00 -- 另外,SQLCrossTableBuilder或SQLGroupTableBuilder不能将备注型列做为分组列,这是有原因的吗?还是是个遗漏呢?求解 |
-- 作者:大红袍 -- 发布时间:2015/8/13 9:10:00 -- 1、去maxlength我测试没有问题啊;
2、即便备注列,也可以分组啊。 |
-- 作者:hdffzxf -- 发布时间:2015/8/13 11:54:00 -- 我的被统计表(外部数据源,没有datatable)是动态加载的,结果用SQLCrossTableBuilder或SQLGroupTableBuilder备注型列就无法参与统计,maxlenght也是用的sqlcommand调进来表结构,生成临时dt,并对列类型进行判断,maxlength确实均为-1. 我在想是不是问题出在动态加载的表备注型列不能统计,而静态表是可以统计的呢?
|
-- 作者:大红袍 -- 发布时间:2015/8/13 12:02:00 -- 1、不要用sqlCommand调进来。直接用fill函数 http://www.foxtable.com/help/topics/2912.htm
2、SQLCrossTableBuilder或SQLGroupTableBuilder如果想用备注列分组,就转成字符列就行啊。
要不你上次一个例子说明到底想做什么 |