c#调用带输出参数的存储过程

王朝学院·作者佚名  2016-08-28
窄屏简体版  字體: 小  |  中  |  大  |  超大  

sql server中编写一个存储过程:

CREATE PROCEDURE ProGetPWD @username varchar(20), @passWord varchar(20) OUTPUT AS BEGIN SELECT @password = password FROM Users WHERE username = @username END --------------------------

下面是.NET中调用存储过程的方法:

string strConnection = "user id=sa;password=sa;initial catalog=MyTest;Server=YHB;Connect Timeout=30"; using (SqlConnection conn = new SqlConnection(strConnection)) { conn.Open(); using (SqlCommand sqlComm = conn.CreateCommand()) { //设置要调用的存储过程的名称 sqlComm.CommandText = "GetPWD"; //指定SqlCommand对象传给数据库的是存储过程的名称而不是sql语句 sqlComm.CommandType = CommandType.StoredProcedure; SqlParameter username = sqlComm.Parameters.Add(new SqlParameter("@username", SqlDbType.VarChar, 20)); //指明"@username"是输入参数 username.Direction = ParameterDirection.Input; //为“@username”参数赋值 username.Value = this.txt_username.Text; SqlParameter password = sqlComm.Parameters.Add(new SqlParameter("@password", SqlDbType.VarChar, 20)); //指定"@password"为输出参数 password.Direction = ParameterDirection.Output; //执行 sqlComm.ExecuteNonQuery(); //得到输出参数的值,把赋值给name,注意,这里得到的是object类型的,要进行相应的类型轮换 string passwrod = Convert.ToString(sqlComm.Parameters["@password"].Value); MessageBox.Show(passwrod); } }

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航