在SQL SERVER 2000 中建立如下的存储过程:
CREATE PROCEDURE [dbo].[rent_all_house_fix] AS
DECLARE @percent float
update host_file set host_file.Rent_house=host_file.Rent_house*@percent
GO用DELPHI 中的StoredProc控件怎么才能把程序中给@percent赋的值,传给 SQL SERVER 执行上面的存储工程。
在线等待!!!
CREATE PROCEDURE [dbo].[rent_all_house_fix] AS
DECLARE @percent float
update host_file set host_file.Rent_house=host_file.Rent_house*@percent
GO用DELPHI 中的StoredProc控件怎么才能把程序中给@percent赋的值,传给 SQL SERVER 执行上面的存储工程。
在线等待!!!
你这个应该传数字,因此在parambindmode属性中选择pbBynumber
@percent float
AS
update host_file set host_file.Rent_house=host_file.Rent_house*@percent
GO在storedproc控件的属性中不是有个params吗,利用他可以为存储过程传递参数。
你这个应该传数字,因此在parambindmode属性中选择pbBynumber
在storedproc控件的属性的params,利用他可以为存储过程传递参数。
你试着删 了,再放上去
你可以先用一个空白的form看看是否会出现这个问题
也许就是窗体的问题
@userid char(10) --输入参数
@username char(10) output --输出参数
as
declare
@sql varchar(1000) --内部参数........ return(110) --返回值
建议楼主多看看SQL SERVER的在线帮助!
通过代码添加存储参数
try
adostoredproc.Parameters.ParamValues['@percent']:=具体的值
adostoredproc.execproc;
except
on e:exception do
showmessage(e.message) //如果执行出错,将显示出错信息
end;
........
@percent float //这句话应该写在as前边
AS
update host_file set host_file.Rent_house=host_file.Rent_house*@percent
GO
对,前几天我也遇到过的,(我也是初学)就是我看的哪个例子有问题,你是不是这样的adostoredproc.Parameters.['@percent']:=‘’;
还有就是变量后会自动加“_x“数字
CREATE PROCEDURE [dbo].[rent_all_house_fix]
@percent real
AS
update host_file set host_file.Rent_house=host_file.Rent_house* @percent
GO我用的是BDE 中的Tstoredproc,且放在数据模块中
选择“PBBYNUMBER”
sql_server.rent_StoredProc.StoredProcName:='rent_all_house_fix';
sql_server.rent_StoredProc.Params[0].Value:=10.0;
sql_server.rent_StoredProc.ExecProc;
提示“LIST INDEX OUT OF BAND(0)”
选择“PBBYNAME”
sql_server.rent_StoredProc.StoredProcName:='rent_all_house_fix';
sql_server.rent_StoredProc.ParamByName('@percent').AsFloat:=10.0;
sql_server.rent_StoredProc.ExecProc;
提示“Param @PERCENT NOT FOUND”
怎么回事?