pb10.0捞取SQL 2000资料时报错

yf52393975 2010-11-22 08:04:31
帮忙看一下这个问题
PB10.0+SQL SERVER 2000
问题:PB10中使用ds取得话,却报出如下错误:SQLSTATE = S1093,无效的参数号码,请帮忙看下,是什么原因呢?

http://topic.csdn.net/u/20101115/14/49f2adcf-5643-421a-84ae-188b58665443.html
...全文
194 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
yf52393975 2010-11-30
  • 打赏
  • 举报
回复
我现在暂时的解决方法是将零时表B中的参数类型换成了string array,
这样就能正常的捞取资料了,
请教了pb8,他说是因为字段ORFMRID是char型,里面有空格,导致资料类型不正确
SELECT A.EFMFID,
A.EFMMID,
A.EFMNAME,
A.EFMMETHOD,
A.EFMUPPICT,
A.EFMDNPICT,
A.EFMCHECK,
A.EFMVISIBLE,
A.EFMHINT,
A.EFMMICOHELP,
A.EFMTBITEMINDEX,
A.EFMTBITEMORDER,
A.EFMTBITEMSPACE,
case IsNUll(B.ORFMRID,'*')
when '*' then 'N'
else 'Y'
end FLAG
FROM ERPFUNCMETHOD AS A
LEFT OUTER JOIN
(SELECT ORFMRID,ORFMFID,ORFMETHOD
FROM OPERRFMETHOD WHERE ORFMRID in (:as_role) ) AS B
ON A.EFMFID=B.ORFMFID AND A.EFMMID=B.ORFMETHOD
WHERE A.EFMFID = :as_func
ORDER BY A.EFMTBITEMORDER
暂时还是不知道具体原因。
cab_1128 2010-11-25
  • 打赏
  • 举报
回复
pb10以后ODBC对于一些复杂的SQL是不支持的
你可以用OLEDB驱动连接试试
yf52393975 2010-11-23
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wag_enu 的回复:]

再检查一下DW 的SQL 语法和DB 里相关字段的数据类型什么的吧。
[/Quote]

OPERRFMETHOD.ORFMRID 是char(2)
ERPFUNCMETHOD.EFMFID是char(10)
参数都是string
永生天地 2010-11-23
  • 打赏
  • 举报
回复
不会是还有其他sql报出的错误吧
yf52393975 2010-11-23
  • 打赏
  • 举报
回复
我发现把sql写成
SELECT A.EFMFID,
A.EFMMID,
A.EFMNAME,
A.EFMMETHOD,
A.EFMUPPICT,
A.EFMDNPICT,
A.EFMCHECK,
A.EFMVISIBLE,
A.EFMHINT,
A.EFMMICOHELP,
A.EFMTBITEMINDEX,
A.EFMTBITEMORDER,
A.EFMTBITEMSPACE,
( case IsNUll(B.ORFMRID,'*') when '*' then 'N'
else 'Y' end )FLAG
FROM ERPFUNCMETHOD A ,
OPERRFMETHOD B
WHERE A.EFMFID = :as_func and
A.EFMFID *= B.ORFMFID and
A.EFMMID *= B.ORFMETHOD and
B.ORFMRID = :as_role
ORDER BY A.EFMTBITEMORDER
就没有问题了,但是这样的话资料又不是我想要的了,
因为B.ORFMRID = :as_role 这个条件相当于没有起到作用,
所以请大家帮忙看下,
是不是说PB中零时表里面不能使用参数(as_role)的.
wag_enu 2010-11-22
  • 打赏
  • 举报
回复
再检查一下DW 的SQL 语法和DB 里相关字段的数据类型什么的吧。
yf52393975 2010-11-22
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wag_enu 的回复:]
在DW 画板里打开retrieve 一下看正不正常。

换用ODBC 以外的接口试一下。
[/Quote]
在数据库正常的,只要把参数换成2010和1就是正常的,
但是dw中捞取就是不行,是报这个错误
wag_enu 2010-11-22
  • 打赏
  • 举报
回复
在DW 画板里打开retrieve 一下看正不正常。

换用ODBC 以外的接口试一下。

740

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 脚本语言
社区管理员
  • 脚本语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧