当前位置:主页>销售管理软件> 列表

请教ADOStoredProc调用存储过程的问题 找库存管理软件

记账软件版1楼: 存储过程:
CREATE PROCEDURE sktj
@sno char(10),
@xm char(4),
@dz varchar(10)
as
begin
insert into kh(sno,xm,dz) values(@sno,@xm,@dz)
end
GO
然后在DELPHI里添加了ADOConnection ,ADOStoredProc,3个Edit和一个Button
procedure TForm1.Button1Click(Sender: TObject);
begin
if(edit1.text<>'''')and(edit2.text<>'''')and(edit3.text<>'''')then
try
with ADOStoredProc do
begin
parameters.parambyname(''@sno'').value:=edit1.text;
………………
execproc;
end;
except on exception do showmessage('''');
end;
然后添加数据的时候提示: ''sno''not found 需要高人指点

2楼: 当然了会有错了,你还没有添加这个参数
用 add 先添加上参数试试
procedure tFormShowAllConsume.showConsumeList(begintime,Endtime:string);
begin
with datamodule1.ADOStoredP_ConsumeList do
begin
if active then close;
procedureName:=''get_history_by_time'';
parameters.Clear;
parameters.Add;
parameters.Add;
parameters[0].Value:=beginTime;
parameters[1].Value:=endTime;
try
open;
except
end;

end;

end; 如库存管理软件

3楼: 谢谢你啊,用你的方法已经成功了,不过,如果我想用更直观一点的,请问应该怎么做?parameters.parambyname(''@sno'').value:=edit1.text;
我用上边的就是报错!

4楼: 你可以在設計時添加paramter,設置好ADOStoredProc的procname后,可以點開他的paramters參數,在這裡就能看到。

5楼: 按照存储过程的参数严格顺序来定义参数。
with ADOStoredProc1 do
begin
Parameters.CreateParameter(''@RETURN_VALUE'', ftReturnValue, pdInputOutput, 4,
0);
//your paramers
ExecProc;
end;

6楼: parameters.parambyname(''sno'').value:=edit1.text;

记账软件版7楼: 多人接受答案了。