以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  SQLQuery一个非常严重的问题,已找到原因  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=47802)

--  作者:jnletao
--  发布时间:2014/3/17 22:51:00
--  SQLQuery一个非常严重的问题,已找到原因
以下内容为程序代码:

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
--  发布时间:2014/3/17 22:57:00
--  
MSSQL语句说明:就是一个多表内连接 ,连接关键字段为 费用单号 。左表为右表的父表。一对多关系。
不过我的程序要求默认以左表增加顺序排序。所以必须用_Identify 

--  作者:狐狸爸爸
--  发布时间:2014/3/18 8:38:00
--  

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


--  作者:Bin
--  发布时间:2014/3/18 8:41:00
--  
_Identify 有重复难道?
--  作者:狐狸爸爸
--  发布时间:2014/3/18 8:47:00
--  

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

 

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

 


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

--  作者:狐狸爸爸
--  发布时间:2014/3/18 9:27:00
--  
楼上好方法
--  作者:jnletao
--  发布时间:2014/3/18 10:39:00
--  
不好意思,刚上线。昨天睡前这个问题我分析了一下原因。

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

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

不知我的想法对不对!