关于用TQuery控件调用存储过程遇到的问题,请高手指教,谢谢!!(本人在线等待)

dafei1979 2003-01-25 12:47:30
在delphi中我使用Tstoreproc 控件调用存储过程是可以的,但是使用TQuery控件的时候有问题。我用的是oracle 8i,BDE里面的设置应该没问题。

下面的是代码:



CREATE OR REPLACE PACKAGE Typedefine IS
TYPE mytype IS RECORD
(LOTID VARCHAR (40) ,
SHIFT VARCHAR (2) ,
PRODUCTNAME VARCHAR (40) );
TYPE my_cursor IS REF CURSOR RETURN mytype ;
END ;




CREATE OR REPLACE PROCEDURE sdb_test
(enddate IN VARCHAR2,startdate IN VARCHAR2,
Eqpid IN VARCHAR2,my_cursor IN OUT Typedefine.my_cursor)
IS
BEGIN
OPEN my_cursor FOR
SELECT lotid,shift,productname
FROM
temp_table
where shiftenddate=enddate
and shiftstartdate=startdate
ORDER BY txntimestamp ;
END ;



Query1.close;
Query1.clear ;
Query1.SQL.Add('begin SDB_TEST (''20021208'',''20021201'',''ABCD01'') ; end ;') ;
Query1.open ;

错误信息是:Encountered the symbol '''' The symbol '''' was ignored.'.Process stopped.

我查了好久都找不到原因,请高手指教,在线等待,谢谢!!
























...全文
41 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
lizongqi 2003-02-12
  • 打赏
  • 举报
回复
听课
dafei1979 2003-01-27
  • 打赏
  • 举报
回复
顶一下...
dafei1979 2003-01-26
  • 打赏
  • 举报
回复
风的往事,我觉得三个参数,按照你这样写,应该和我的结果是一样的吧,我现在没在公司没办法测。

我是定义了四个参数,我不知道cursor的在delphi里面应该怎么定义和使用?
另,我用storeproc的时候,我只用了3个参数,没有用cursor就可以了,我不
知道TQuery控件是不是一定要用四个参数,请帮忙,谢谢!!
hfyun 2003-01-25
  • 打赏
  • 举报
回复
Query1.close;
Query1.clear ;
Query1.SQL.Add('exec SDB_TEST ''20021208'',''20021201'',''ABCD01'' ') ;
Query1.open ;
zzheaptech 2003-01-25
  • 打赏
  • 举报
回复
即使是三个参数也应该这样写
Query1.SQL.Add('execute SDB_TEST('+''''+'20021208'+','+''''+'20021201'+''''+','+''''+'ABCD01'+''''+')';




zzheaptech 2003-01-25
  • 打赏
  • 举报
回复
声明的时候4个参数,怎么调用的时候就3个
dafei1979 2003-01-25
  • 打赏
  • 举报
回复
郁闷,没人知道吗?

:(
dafei1979 2003-01-25
  • 打赏
  • 举报
回复
Query1.SQL.Add('exec SDB_TEST ''20021208'',''20021201'',''ABCD01'' ') ;

我试过的,也是不行的。想问一下因为我是返回结果集的存储过程,用
execute sdb_test 是不是不返回结果的。

另,我用的就是双引号呀?不明白。
hfyun 2003-01-25
  • 打赏
  • 举报
回复
对不起,我写的是SQL下的用法。
Oracle没有操作过存储过程。
你的问题看看是否单引号原因,试试双引号。

2,507

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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