delphi 中怎么样用代码添加存储过程的参数。

我用BDE的stredproc调用存储过程,要在设计时属性里指定存储过程名,然后用params里自动找到存储过程的参数。这样可以正常运行调用存储过程。我想设计时不指定存储... 我用BDE 的 stredproc调用存储过程,要在设计时属性里指定存储过程名,然后用params里自动找到存储过程的参数。这样可以正常运行调用存储过程。

我想设计时不指定存储过程名,想在代码中指定要运行的存储过程,手动添加参数:用 proc_login1.Params.AddParam('@uname_1');或者proc_login1.Parameters.AddParameter.Name:='@uname_1';代码都出错。

然后我用BDE 的 stredproc属性指定运行的存储过程名(设计时)按它自动找到的参数记下来,然后删除BDE 的 stredproc的属性指定的存储过程,手动添加到params里,打算在运行的时候指定存储过程名。都不能正常运行。

如果每次运行调用存储过程都要在设计的时候指定存储过程名,让他自动生成参数的话,那在运行时就无法为控件更改存储过程名,那我添加、修改、删除3个功能就要添加3个storedproc控件,这样好像太麻烦了。
能告诉我问题出在哪里吗?
回一楼:首先spTemp.Parameters.ParamByName('@start_rq').Value:= 里面的 Parameters.关键字在运行的时候就通不过,一定要删除变成spTemp.ParamByName('@start_rq').Value:= 才可以。可能你用的是ADO的PROC。还有按你这样写,运行的时候提示找不到参数。
展开
 我来答
bluedn
2010-11-29 · TA获得超过744个赞
知道小有建树答主
回答量:565
采纳率:0%
帮助的人:716万
展开全部
给你看下我的,全部在代码里指定不就行了么。

spTemp.Close;
spTemp.ProcedureName:= 'pr_hour_sale';
spTemp.Parameters.Refresh;
spTemp.Parameters.ParamByName('@start_rq').Value:= sDateBegin; //'2010-05-01';
spTemp.Parameters.ParamByName('@end_rq').Value:= sDateEnd; //'2010-05-01';
spTemp.Parameters.ParamByName('@bmh').Value:= sDeptCode;
spTemp.Parameters.ParamByName('@table_from').Value:= '1';
spTemp.Parameters.ParamByName('@hour_t').Value:= sHourStep;
spTemp.Open;
dsTemp.Recordset:= spTemp.Recordset;
乐呵呵乐摇摇
2010-12-12
知道答主
回答量:17
采纳率:0%
帮助的人:1万
展开全部
要创建参数哦再添加参数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式