请教ADOStoredProc调用存储过程的问题 找库存管理软件
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楼: 多人接受答案了。