如何在Delphi5.0中 调用Sybase存储过程 高手赐教!100分

johnnyqiu 2004-04-14 06:34:10
ASA的存储过程 很简单
create procedure my_proc
as
begin
select *
from Employee
end

Delphi中调用该存储过程 如下 :
(TStoredProc.StoredProcName :=my_proc Delphi自动默认了一个名为 expression的参数 ParamType :=ftOutput) 当TStoredProc.Active :=True;时发生异常 :Wrong Number of Parameters to Function'my_proc';

问题一 :我要返回查询的数据集 请问在Delphi中该如何调用和设置
问题二 :是否在存储过程中返回的数据集应该定义为游标或者其他类型的参数
...全文
66 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
louiedf 2004-04-15
  • 打赏
  • 举报
回复
CREATE PROCEDURE usp_MainForm1_01
AS
-- 删除输出的临时表
IF EXISTS (SELECT name FROM sysobjects WHERE name = 'dtMainForm1_01' AND type = 'U')
DROP TABLE dtMainForm1_01
-- 得到最新的外输油汇总数据到输出临时表dtMainForm1_01
SELECT TOP 1 *
INTO dtMainForm1_01
FROM dsExportOilSum
ORDER BY DateData DESC

GO
welllove88 2004-04-15
  • 打赏
  • 举报
回复
BDE里和ADO里用法一样
johnnyqiu 2004-04-15
  • 打赏
  • 举报
回复
TO LuFanCy :不是在ADO里 而是在BDE里调用

你的回答 :
过程返回数据集都是需要游标的,或者将数据直接写到一个表内,不过每次执行过程时都要清空该表

能否给出一个实例 谢谢!
qingke21 2004-04-15
  • 打赏
  • 举报
回复
顶一下!
louiedf 2004-04-14
  • 打赏
  • 举报
回复
1。可以用
A.
ADOStoredProc1.ProcedureName := 'my_proc';
//ADOStoredProc1.Parameters.ParamByName('val').Value := 'value';//带参数
ADOStoredProc1.ExecProc;
B.
ADOQuery.sql.text := 'exec my_proc';
//ADOQuery.sql.text := 'exec my_proc ''value''';//带参数

2。过程返回数据集都是需要游标的,或者将数据直接写到一个表内,不过每次执行过程时都要清空该表

2,497

社区成员

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

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