我使用ado通過odbc連接interbase 在使用存儲過程不能成功 ,為什麼

smhjh 2003-09-29 04:40:50
提示 does not return any value
我的前台 d7
procedure TForm1.BitBtn1Click(Sender: TObject);
begin

with dm.ADOStoredProc1 do
begin
close;

parameters.ParamByName('CUST_NO').Value:=edit1.Text;
parameters.ParamByName('CUSTOMER').Value:=edit2.Text;
EXECPROC;
end; // with
end;
後台
REATE PROCEDURE INSERTCUST (
CUST_NO INTEGER,
CUSTOMER VARCHAR(30) CHARACTER SET NONE)
AS
begin
insert into customer(cust_no,customer) values (:CUST_NO, :CUSTOMER);

end
請大蝦解答
...全文
21 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
kerosun 2003-09-30
  • 打赏
  • 举报
回复
我用SQLConnection+SQLStoredProc测试没有问题。
procedure TForm1.Button1Click(Sender: TObject);
begin
SQLStoredProc1.Close;
SQLStoredProc1.Params.ParamByName('CUST_NO').Value := Edit1.Text;
SQLStoredProc1.Params.ParamByName('CUSTOMER').Value := Edit2.Text;
SQLStoredProc1.ExecProc;
end;
kerosun 2003-09-30
  • 打赏
  • 举报
回复
建议使用dbExpress
erickleung 2003-09-29
  • 打赏
  • 举报
回复
严格地说, 那不是interbase本身问题, 是delphi上的ADO问题.
请试试用ADODataset取代ADOStoreProc. 从报错的说明, ADOStoreProc省缺是希望有返回数据. 但你的sql却不需要返回数据.
甜而不腻 2003-09-29
  • 打赏
  • 举报
回复
参数类型没有说明:
如什么类型??
输入的还是输出的??

Params.CreateParam(ftstring,'CUST_NO',ptInput);
Params.CreateParam(ftInteger,'CUSTOMER',ptoutput);
注意输入输出类型.
CuteBit 2003-09-29
  • 打赏
  • 举报
回复
hi,smhjh
你去掉 close 语句试试。

2,209

社区成员

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

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