在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 执行上面的存储工程。
在线等待!!!

解决方案 »

  1.   

    执行后。提示“ @percent not found ”,怎么回事?
      

  2.   

    在storedproc控件的属性中不是有个params吗,利用他可以为存储过程传递参数。
    你这个应该传数字,因此在parambindmode属性中选择pbBynumber
      

  3.   

    CREATE PROCEDURE [dbo].[rent_all_house_fix]
       @percent  float
    AS
     update  host_file set  host_file.Rent_house=host_file.Rent_house*@percent
    GO在storedproc控件的属性中不是有个params吗,利用他可以为存储过程传递参数。
    你这个应该传数字,因此在parambindmode属性中选择pbBynumber
      

  4.   

    提示“list out of band(0)”,怎么办?
      

  5.   

    你的存储过程有“问题”(如果你的意图是要从外部传入参数的话)应该像 fengbincn(坏坏) 的这样
      

  6.   

    索引有错误,
    在storedproc控件的属性的params,利用他可以为存储过程传递参数。
    你试着删 了,再放上去
     你可以先用一个空白的form看看是否会出现这个问题
    也许就是窗体的问题
      

  7.   

    create procedure sp_exp
      @userid  char(10)           --输入参数
      @username  char(10) output  --输出参数
    as
      declare
      @sql varchar(1000) --内部参数........  return(110)  --返回值
      

  8.   


    建议楼主多看看SQL SERVER的在线帮助!
      

  9.   

    添加ADOStoredProc组件,先设置ADOStoredProc组件的链接字符串,保证与sql server数据库链接成功。然后设置ADOStoredProc组件的ProcedureName属性为存储过程的名称,点击ADOStoredProc.TParameters属性,自动获取存储过程的参数列表。
    通过代码添加存储参数
    try
    adostoredproc.Parameters.ParamValues['@percent']:=具体的值
    adostoredproc.execproc;
    except
     on e:exception do
      showmessage(e.message) //如果执行出错,将显示出错信息
    end;
    ........
      

  10.   

    CREATE PROCEDURE [dbo].[rent_all_house_fix]
       @percent  float                          //这句话应该写在as前边
    AS
     update  host_file set  host_file.Rent_house=host_file.Rent_house*@percent
    GO
      

  11.   

    多谢各位的大力支持!我用的是BDE,TStoredProc放在数据模块里的。这样有影响吗?
      

  12.   

    adostoredproc.Parameters.ParamValues['@percent']:='';
    对,前几天我也遇到过的,(我也是初学)就是我看的哪个例子有问题,你是不是这样的adostoredproc.Parameters.['@percent']:=‘’;
    还有就是变量后会自动加“_x“数字
      

  13.   

    存储过程改为了:
    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”
    怎么回事?
      

  14.   

    你的stroedproc的参数值设置不对。你自动加入每个参数后它有一个默认的。你把那个删除掉。