起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 475|回复: 15

【结贴】急急急!帮忙看下这个异常!

[复制链接]
发表于 2010-2-10 14:58:27 | 显示全部楼层 |阅读模式
大家都回去过年了吧?
怎么办呢?
这个异常出自
if dsbSYSTEM_MODULE.DataSet.FieldByName('F_FATHERNAME').AsString <> '' then   
语句
'F_FATHERNAME'是一个标准数据集里面的字段,标准数据集的SQL语句如果是查询一个视图对这个有影响吗?
本来是一个很长的SQL语句,使用到了联接UNION,也报这个异常,然后我就把SQL语句创建了视图,再试还是报异常。
请各位高人指教!

另外,我以前都可以在初始化运行中看到我在做的模块,签入再签出以后,现在怎么看不了了?
我给登录用户分配了权限啊,为什么呢?很郁闷。
同事都回家了。。

请大侠帮帮忙吧!

1.jpg

14.63 KB, 下载次数: 200

回复

使用道具 举报

发表于 2010-2-10 15:09:27 | 显示全部楼层
你贴上sql看看。
第二个问题不知道是什么情况。看不了是什么现象。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-2-10 15:15:10 | 显示全部楼层
SELECT TFM.FDISPLAYNAME AS F_NAME,TF.FDISPLAYNAME AS F_FATHERNAME
FROM TORGSYSTEM TM
LEFT JOIN TORGINDEX TR ON UPPER(TM.FGUID)=UPPER(TR.FGUID)
LEFT JOIN TFILESYSTEM TF ON UPPER(TR.FVALUE)=UPPER(TF.FSPACE||TF.FFILENAME)
LEFT JOIN TFILESYSTEM TFM ON UPPER(TFM.FGUID)=UPPER(TF.FPARENTGUID)
WHERE UPPER(TR.FID) = 'ORGUNIT.FUNCREF' AND UPPER(TM.FKIND)='.PTN'AND UPPER(TF.FKIND)='.FUNC' AND TM.FPOSITION='RLZYBJL'
GROUP BY TFM.FDISPLAYNAME,TF.FDISPLAYNAME
UNION
SELECT '',TFM.FDISPLAYNAME
FROM TORGSYSTEM TM
LEFT JOIN TORGINDEX TR ON UPPER(TM.FGUID)=UPPER(TR.FGUID)
LEFT JOIN TFILESYSTEM TF ON UPPER(TR.FVALUE)=UPPER(TF.FSPACE||TF.FFILENAME)
LEFT JOIN TFILESYSTEM TFM ON UPPER(TFM.FGUID)=UPPER(TF.FPARENTGUID)
WHERE UPPER(TR.FID) = 'ORGUNIT.FUNCREF' AND UPPER(TM.FKIND)='.PTN'AND UPPER(TF.FKIND)='.FUNC' AND TM.FPOSITION='RLZYBJL'
GROUP BY TFM.FDISPLAYNAME
ORDER BY F_NAME DESC
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-2-10 15:16:17 | 显示全部楼层
谢谢啊。麻烦看一下,其实也就是想实现一个目录树,把用户能看到的模块展示出来。期待!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-2-10 15:17:49 | 显示全部楼层
SELECT F_NAME AS F_NAME ,F_FATHERNAME AS F_FATHERNAME FROM (
SELECT TFM.FDISPLAYNAME AS F_NAME,TF.FDISPLAYNAME AS F_FATHERNAME
FROM TORGSYSTEM TM
LEFT JOIN TORGINDEX TR ON UPPER(TM.FGUID)=UPPER(TR.FGUID)
LEFT JOIN TFILESYSTEM TF ON UPPER(TR.FVALUE)=UPPER(TF.FSPACE||TF.FFILENAME)
LEFT JOIN TFILESYSTEM TFM ON UPPER(TFM.FGUID)=UPPER(TF.FPARENTGUID)
WHERE UPPER(TR.FID) = 'ORGUNIT.FUNCREF' AND UPPER(TM.FKIND)='.PTN'AND UPPER(TF.FKIND)='.FUNC' AND TM.FPOSITION='RLZYBJL'
GROUP BY TFM.FDISPLAYNAME,TF.FDISPLAYNAME
UNION
SELECT '' AS F_NAME,TFM.FDISPLAYNAME AS F_FATHERNAME
FROM TORGSYSTEM TM
LEFT JOIN TORGINDEX TR ON UPPER(TM.FGUID)=UPPER(TR.FGUID)
LEFT JOIN TFILESYSTEM TF ON UPPER(TR.FVALUE)=UPPER(TF.FSPACE||TF.FFILENAME)
LEFT JOIN TFILESYSTEM TFM ON UPPER(TFM.FGUID)=UPPER(TF.FPARENTGUID)
WHERE UPPER(TR.FID) = 'ORGUNIT.FUNCREF' AND UPPER(TM.FKIND)='.PTN'AND UPPER(TF.FKIND)='.FUNC' AND TM.FPOSITION='RLZYBJL'
GROUP BY TFM.FDISPLAYNAME)

应该是这个,但是也没有多大区别
回复 支持 反对

使用道具 举报

发表于 2010-2-10 15:19:43 | 显示全部楼层
楼主,你可以在if dsbSYSTEM_MODULE.DataSet.FieldByName('F_FATHERNAME').AsString <> '' then   这里设置个断点

然后,用Ctrl+F7,检查一下dsbSYSTEM_MODULE.DataSet.Fields中是否有'F_FATHERNAME'这个字段
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-2-10 15:28:49 | 显示全部楼层
SORRY啊,我不知道怎么设置断点。
你能详细说明吗?
另外,在我屏蔽掉这句代码的时候,程序可以运行,但是我按保存按钮,它又弹出了一个异常,麻烦看一下,谢谢!

3.jpg

11.75 KB, 下载次数: 204

回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-2-10 16:16:16 | 显示全部楼层
顶一下!
我现在都没办法继续做了。
回复 支持 反对

使用道具 举报

发表于 2010-2-10 16:36:21 | 显示全部楼层
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-2-10 16:48:51 | 显示全部楼层
谢谢,只是出现红底白字了以后按F5以后没有反应啊。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-11 15:23 , Processed in 0.043418 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表