本人使用SQL SERVER 2000写了一个这样的存储过程,如下:
           create procedure pd_people_select 
           @number1 char(5)
           as
           select *
           from people_infor
           where number=:number1
           go
                   在DELPHI数据库应用程序运行的时候,第一次给@number1参数赋值可以查找结果集出来,再一次赋值,总是第一次的结果集,好像@number1参数的值没有改变一样。请各位帮忙。

解决方案 »

  1.   

    修改一下:where number=@number1
      

  2.   

    create procedure pd_people_select 
               @number1 char(5)
               as
               select *
               from people_infor
               where number=@number1 
               go
      

  3.   

    我指的是你在delphi 中用什么控件调用的存储过程,试试close 之后再open。
      

  4.   

    我用ADOSTOREDPROC调用存储过程,close之后再open。又是总是第一次输入的参数值。
      

  5.   

    不会吧,你贴代码出来,我刚做的程序,delphi 7,绝对没问题的。
      

  6.   

    ADOSTOREDPROC1.CLose;
    ADOSTOREDPROC1.Parameters.Refresh;
    ADOSTOREDPROC1.parameters.ParamByName('@number1').value:='you value';
    ADOSTOREDPROC1.open;
      

  7.   

    参数@number1 只能放5个字符的,新的参数跟旧的参数在前五个字符上有区别吗?
      

  8.   

    如果時oracle 要看你用的時 ado 的那個驅動
    時 ms 還是 oracel 自己的, oracle 有bug