当前位置:首页
开发技术指南» 文章正文
    引言:

 ·关于tooltip的问题    »显示摘要«
    摘要: 1--我想问关于tooltip的问题,我想实现的功能是当textbox1的text的长度大于20时显示textbox1.text(鼠标进入时),因为textbox1的内容会变。 2--当鼠标进入textbox1时,屏幕有很强的横纹,(应该是在刷新),我不想让他出现横纹 ......
 ·问一个简单流程的实现,谢谢    »显示摘要«
    摘要: 那我有想这样的思路: 随机读取一个数 | 比较,随机数,已经存在数组a中, § 如果有,则返回继续读取一个 § 如果不存在,就存入数组a, § 进行后面的程序 § 返回上面,随机读取数 请问这么实现,谢谢了。。 ......


如何用 quey 动态地调用 SQLSERVER 2000 的存储过程

如何用   quey   动态地调用   SQLSERVER   2000   的存储过程?存储过程中有输入输出参数,输出参数为整数。  
  请各位高手多多指教。

NO.1   作者: coffee36

 
  使用ADOSTOREDPROC就可以了。  
  动态创建它就行  
   
  var    
  p:tadostoredproc;  
  my_fwreateb,my_fwreates:double;  
  begin      
   
      p   :=   TADOStoredProc.Create(self);  
          p.Connection   :=   dmform.ADOConnection1;  
          p.ProcedureName   :=   payfee;//存储过程名  
   
          with   p.Parameters.AddParameter     do  
          begin  
              DataType   :=   ftstring;  
              Direction   :=   pdinput;//输入参数  
              Value   :=   HZNo   ;  
          end;  
          with   p.Parameters.AddParameter     do  
          begin  
              DataType   :=   ftstring;  
              Direction   :=   pdinput;  
              Value   :=   MZNo   ;  
          end;  
          with   p.Parameters.AddParameter     do  
          begin  
              DataType   :=   ftstring;  
              Direction   :=   pdinput;  
              Value   :=   SPNo   ;  
          end;  
          with   p.Parameters.AddParameter   do  
          begin  
              DataType   :=   ftfloat;  
              Direction   :=   pdinput;  
              Value   :=   strtofloat(SPCnt)   ;  
          end;  
          with   p.Parameters.AddParameter     do  
          begin  
              DataType   :=   ftstring;  
              Direction   :=   pdinput;  
              Value   :=   SPU   ;  
          end;  
          with   p.Parameters.AddParameter   do  
          begin  
              DataType   :=   ftfloat;  
              Direction   :=   pdinput;  
              Value   :=   strtofloat(SPPe)   ;  
          end;  
          with   p.Parameters.AddParameter     do  
          begin  
              DataType   :=   ftstring;  
              Direction   :=   pdinput;  
              Value   :=   Staffno   ;  
          end;  
          with   p.Parameters.AddParameter     do  
          begin  
              DataType   :=   ftstring;  
              Direction   :=   pdinput;  
              Value   :=   JYNo   ;  
          end;  
          with   p.Parameters.AddParameter     do  
          begin  
              DataType   :=   ftstring;  
              Direction   :=   pdinput;  
              Value   :=   JYLS   ;  
          end;  
          with   p.Parameters.AddParameter     do  
          begin  
              DataType   :=   ftinteger;  
              Direction   :=   pdinput;  
              Value   :=   0   ;  
          end;  
   
          with   p.Parameters.AddParameter   do  
          begin  
              DataType   :=   ftinteger;  
              Direction   :=   pdinput;  
              if   huipino   =     then  
              begin  
                  Value   :=   0;  
              end  
              else  
              begin  
                  Value   :=   strtoint(huipino)   ;  
              end;  
          end;  
          with   p.Parameters.AddParameter   do  
          begin  
              DataType   :=   ftinteger;  
              Direction   :=   pdoutput;//输出参数  
              Name   :=   retval   ;  
          end;  
          with   p.Parameters.AddParameter   do  
          begin  
              DataType   :=   ftfloat;  
              Direction   :=   pdoutput;  
              Name   :=   fwrateb   ;  
          end;  
          with   p.Parameters.AddParameter   do  
          begin  
              DataType   :=   ftfloat;  
              Direction   :=   pdoutput;  
              Name   :=   fwrates   ;  
          end;  
   
   
   
          p.ExecProc   ;  
   
          ret   :=   p.Parameters.ParamValues[retval];//存储过程返回值  
          my_fwreateb:=p.p.Parameters.ParamValues[fwrateb];   //输出参数  
          my_fwreates:=p.p.Parameters.ParamValues[fwrates];   //输出参数  
          p.free;  
           
   
   
   
 

NO.2   作者: Hank

 
   
  本来很简单的问题非要搞的这么复杂!  
   
  通过ADOQuery.SQL.Add(exec   spproc   参数一,参数二);  
  具体参看SQL的帮助  
  然后  
  ADOQuery.Execute;  
  如果有返回值也就是有输出参数,那么大不了存储过程最后一行加入  
  SELECT   参数1,参数2,参数3  
  然后通过adoquery.fieldbyname就可以调用了

NO.3   作者: belllab

只有输入参数的话,很简单  
  ADOQuery.SQL.Add(Exec   MySP   :参数一,:参数二);  
  ADOQuery.Parameters.ParamByName(参数一).Value:=AAAA;  
  或Query.ParamByName(参数一).AsInteger:=AAAA;  
   
  如果有输出参数的话,稍微麻烦一点  
  Query.SQL.Add(declare   @OP1   int,@OP2   int);  
  Query.SQL.Add(Exec   MySP   :参数一,:参数二,@OP1   output,@OP2   output   );  
  Query.SQL.Add(select   OP1=@OP1,OP2=@OP2   );  
  Query.Open;  
 


 ·如何使一个子窗体只打开一次    »显示摘要«
    摘要: 如何使一个子窗体只打开一次?如何判断子窗体已经打开? ......
» 本期热门文章:
· 热门栏目:
» 相关精选文章
» 其它相关:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE