我用sql2000定义了一个带参数的存储过程用delphi的ado的存储过程控件运行是说找不着参数(注:用parameters给参数赋值时,说找不着该参数)
解决方案 »
- 请问用 TMS.component.Pack如何做甘特图
- 小弟写的文章,第一次写,希望大家支持
- 我剛接觸ADO,請問用哪種CONNECTIONSTRING好?
- Rave,Rave,又是Rave
- delphi调用lua
- 小问题,请大家看一下,在线等待
- delphi里面怎么实现foxpro的宏代换功能?
- 高手请进!
- 很急:一个非常郁闷无比的问题,关于窗体的ShowModal显示方式问题 (苦恼中,不小心发到VC那边去了,搞得我最后的10都浪费了,现在没钱了
- 怎样在建立socket连接是设置timeout时间?
- 我在Panel上放了各种控件(如TButton、TEdit),我如何把他们找出来?
- 简单的循环为什么错了??
2 是在运行时创建参数!!!
//执行存储过程
fillgrid.Close;
fillgrid.SQL.Clear; //机型专用号 零部件专用号 机型名称 单台用量 消耗定额 层 父项专用号 平台 废品系数 是否库存 备注
fillgrid.SQL.Add('EXECUTE yf_save '''+trim(dbedit1.Text)+''''+','+''''+trim(spyf.fields[3].asstring)+''''+','+''''+trim(spyf.Fields[7].asstring)+''''+','+''''+trim(spyf.Fields[9].asstring)+''''+','+''''+in_out+''''+','+''''+trim(spyf.Fields[1].asstring)+''''+','+''''''+','+''''+trim(spyf.Fields[11].asstring)+''''+','+''''+trim(spyf.Fields[12].asstring)+''''+','+''''+trim(spyf.Fields[13].asstring)+'''');
fillgrid.ExecSQL;
var
mypara:TParameter;
begin
ADOStoredProc1.close;
mypara:= ADOStoredProc1.Parameters.ParamByName('@starttime');
mypara.Direction :=pdInput;
mypara.DataType := ftDateTime;
mypara.Value :=strtoDatetime(BeginDate);
ADOStoredProc1.Open ;end;
with ADOStoreProc1.parameters.addparameters do
begin
datatype:=ftstring;
name:='@new';
value:=edit1.text;
end;
adostoreproc1.procedurename:='sp_password';
adostoreproc1.execproc;
设计时打开parameters编辑框,在里面增加参数,填写上面的内容,运行的结果都是找不到参数,perpare属性已经设置为true;
希望能得到解答
只要你设置好ADOCONNCTION连接且CONNECTED属性设为TRUE,ADOprocedure的CONNECTION属性设置为ADOCONNCTION,然后选定相应的存储过程,打开parameters编辑框就可以看到参数了啊,还要你添加么?如看不到,连接有问题。
打开TADOStoredProc的parameters编辑框可以看到参数,
设置参数的Datatype 和 size与表结构相同
改成mypara:= ADOStoredProc1.Parameters[0];试一下