首页 新闻 会员 周边 捐助

toJson问题

0
悬赏园豆:50 [已解决问题] 解决于 2016-11-30 14:19

在取两个表数据并转化为JSON格式的时候,情况如下:

表一:

代码:

 

表结构:

输出结果格式:

情况正常

表二:

代码:

表结构:

输出结果:

其中ID 没有带上引号,数据库字段类型都设置为了varchar。跟踪发现这个地方做了字段修正

但不知道为什么要进行修正?

zquery的主页 zquery | 初学一级 | 园豆:111
提问于:2016-11-30 13:54
< >
分享
最佳答案
0

看出来了,修正的时候,你的code as ID

刚好ID这个列存在,而且是int,被修正为int.

所以你的解决方法:

1:as xid 避开ID

2:对于Select之后的dt dt.Columns["ID"].SqlType= xx.NvarChar.手工调整类型,再转json.

------------为什么要修正-----------

因为语句复杂的时候,查出来的数据类型,并不一定是原表的数据类型。

收获园豆:50
路过秋天 | 老鸟四级 |园豆:4787 | 2016-11-30 13:59

但是为什么我操作S_Code表的时候同样的数据库中存在ID列,而并没有被修正?

但是在表二 ZD_HYFL同样的情况就被修正了呢?

zquery | 园豆:111 (初学一级) | 2016-11-30 14:02

@zquery: 

不知道你的情况,不过都是一样的代码是不会有两种情况的。

除非你的条件不一样,走一下源码就知道了。

路过秋天 | 园豆:4787 (老鸟四级) | 2016-11-30 14:04

@路过秋天: 找到原因了。表一ID列本来就设置为varchar的,所以进行修正了后也是一样的。

zquery | 园豆:111 (初学一级) | 2016-11-30 14:19
其他回答(1)
0

你这id不是int么?难道撸多了看错了?

Daniel Cai | 园豆:10424 (专家六级) | 2016-11-30 13:56

好吧,不确定是不是撸多了,你那个MAction是个什么?

支持(0) 反对(0) Daniel Cai | 园豆:10424 (专家六级) | 2016-11-30 13:58

这个ID我是通过 action.SetSelectColumns("VALUE as ID")的方式取的别名。数据库中对应的VAULUE字段是varchar的

支持(0) 反对(0) zquery | 园豆:111 (初学一级) | 2016-11-30 13:58
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册