Foxtable(狐表)用户栏目专家坐堂 → SQLQuery一个非常严重的问题,已找到原因


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

主题:SQLQuery一个非常严重的问题,已找到原因

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


加好友 发短信
等级:四尾狐 帖子:941 积分:7786 威望:0 精华:0 注册:2013/7/7 13:37:00
SQLQuery一个非常严重的问题,已找到原因  发帖心情 Post By:2014/3/17 22:51:00 [只看该作者]

以下内容为程序代码:

1 SELECT A._Identify AS ID, A.进场编号, A.付费单位, A.费用方式, A.付费银行账号, A.付费银行, A.制单人, A.制单时间, A.收费银行, A.收费银行账号, A.备注, A.结算, A.费用单号, A.对应IC卡密, A.车架号VIN,
2 A.收费单位, A.修改人, A.修改时间, A.财务审核人, A.财务审核时间, A.经办人, A.主管审核人, A.主管审核时间, A.经办时间, A.单据类别, A.手工关联单号, A.退费锁定, A.支出原因, A.结算申请,
3 B.费用项目, B.费用单价, B.数量, B.金额 * B.收付 AS 实际金额, B.费用类型, B.结算时间, B.结算人, B.代收, B.封账, B.封账人, B.封账时间, B.付费方式, B.代付, B.对应银行, B.公司银行账号, B.收付,
4 B.是否流程, B.流程顺序, B.固定收费, B.有效期
5 FROM dbo.费用记录单 AS A INNER JOIN
6 dbo.费用记录 AS B ON A.费用单号 = B.费用单号


此代码可在 MSSQL及 foxtable 执行SQL命令里正确执行
只是 一放入窗体用SQLQuery表执行就报错。


图片点击可在新窗口打开查看此主题相关图片如下:tm截图20140317224550.png
图片点击可在新窗口打开查看

后又尝试用foxtable查询表,或在 MSSQL用视图,以上方法都无法在foxtable正常载入。
只要去掉_Identify 就正常,不知是什么原因?
求大神解释

[此贴子已经被作者于2014-3-18 15:34:31编辑过]

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


加好友 发短信
等级:四尾狐 帖子:941 积分:7786 威望:0 精华:0 注册:2013/7/7 13:37:00
  发帖心情 Post By:2014/3/17 22:57:00 [只看该作者]

MSSQL语句说明:就是一个多表内连接 ,连接关键字段为 费用单号 。左表为右表的父表。一对多关系。
不过我的程序要求默认以左表增加顺序排序。所以必须用_Identify 

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2014/3/18 8:38:00 [只看该作者]

我也无法理解,把数据库发上来看看。


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/3/18 8:41:00 [只看该作者]

_Identify 有重复难道?

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2014/3/18 8:47:00 [只看该作者]

看看这个帖子对你有没有帮助,之前有个客户出现同样问题,自己搞定了:

 

http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=39660&authorid=0&page=0&star=1

 


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


加好友 发短信
等级:七尾狐 帖子:1732 积分:11266 威望:0 精华:0 注册:2011/12/15 22:06:00
  发帖心情 Post By:2014/3/18 9:16:00 [只看该作者]

在MSSQL创建视图,加载视图就行了,不建议使用_identify
[此贴子已经被作者于2014-3-18 9:16:21编辑过]

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2014/3/18 9:27:00 [只看该作者]

楼上好方法

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


加好友 发短信
等级:四尾狐 帖子:941 积分:7786 威望:0 精华:0 注册:2013/7/7 13:37:00
  发帖心情 Post By:2014/3/18 10:39:00 [只看该作者]

不好意思,刚上线。昨天睡前这个问题我分析了一下原因。

因为_identify 这个列是主键列,默认不允许重复的。 因此无论以何种形式 加载到foxtable  foxtable都会将它的不重复属性 代入

不过由于是多表查询,一对多,在查询表中肯定存在_identify重复 的情况。
所以foxtable会报错。

不知我的想法对不对!

 回到顶部