问。在C#里怎么执行执行一个带参数的存储过程。

 所属目录:Java   |   类型:技术问答   |   时间:2007-05-21
 问题:

如题,并且我想有一个参数返回到c#里。应该怎么做?详细一点,谢谢。。。

· 网友精彩回答:

发表者:sunjian_qi

sqlconnection   conn   =   new   sqlconnection(连接字符串);  
  conn.open();  
  sqlcommand   comm   =   new   sqlcommand();  
  comm.connection   =   conn;  
  comm.commandtype   =   commandtype.storedprocedure;  
  comm.commandtext   =   存储过程名称;  
   
  sqlparameter   pm;  
  pm   =   comm.parameters.add("@id",   sqldbtype.int);  
  pm.value   =   1;  
   
  comm.executenonquery();  
 

发表者:sunjian_qi

因为存储过程有一个return返回值,所以多创建了一个参数来接收这个返回值。  
  sqlparameter   retval   =   testcmd.parameters.add("retval",   sqldbtype.int);  
  retval.direction   =   parameterdirection.returnvalue;  
   
  你没见到direction   的值是parameterdirection.returnvalue吗?  
 

发表者:50277

sqlcommand   cmdtemp;  
  sqlparameter   sptemp;  
  string   stri;  
  opendatabase();  
  //加密数据  
   
  strpwd=formsauthentication.hashpasswordforstoringinconfigfile(strpwd,"md5");  
   
  cmdtemp=new   sqlcommand("userlogln",conn);  
  cmdtemp.commandtype=commandtype.storedprocedure;  
  cmdtemp.parameters.add   ("@userid",strusername);  
  cmdtemp.parameters.add   ("@userpwd",strpwd);  
  sptemp=cmdtemp.parameters.add("@inti",sqldbtype.int);  
  sptemp.direction=parameterdirection.output;  
  cmdtemp.executenonquery();  
  stri=sptemp.value.tostring();//一样的返回结果  
  stri=cmdtemp.parameters["@inti"].value.tostring();//一样的返回结果  
  cmdtemp.dispose();  
  closedatabase();

发表者:asdc001

我用过柳影如风这种方式,可以的

.
处理 SSI 文件时出错
© 2006-2008 All Rights Reserved