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

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

  1. CREATE PROCEDURE ProGetPWD
  2. @username varchar(20),
  3. @password varchar(20) OUTPUT
  4. AS
  5. BEGIN
  6. SELECT @password = password
  7. FROM Users
  8. WHERE username = @username
  9. END

--------------------------

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

  1. string strConnection = "user id=sa;password=sa;initial catalog=MyTest;Server=YHB;Connect Timeout=30";
  2. using (SqlConnection conn = new SqlConnection(strConnection))
  3. {
  4. conn.Open();
  5. using (SqlCommand sqlComm = conn.CreateCommand())
  6. {
  7. //设置要调用的存储过程的名称
  8. sqlComm.CommandText = "GetPWD";
  9. //指定SqlCommand对象传给数据库的是存储过程的名称而不是sql语句
  10. sqlComm.CommandType = CommandType.StoredProcedure;
  11. SqlParameter username = sqlComm.Parameters.Add(new SqlParameter("@username", SqlDbType.VarChar, 20));
  12. //指明"@username"是输入参数
  13. username.Direction = ParameterDirection.Input;
  14. //为“@username”参数赋值
  15. username.Value = this.txt_username.Text;
  16. SqlParameter password = sqlComm.Parameters.Add(new SqlParameter("@password", SqlDbType.VarChar, 20));
  17. //指定"@password"为输出参数
  18. password.Direction = ParameterDirection.Output;
  19. //执行
  20. sqlComm.ExecuteNonQuery();
  21. //得到输出参数的值,把赋值给name,注意,这里得到的是object类型的,要进行相应的类型轮换
  22. string passwrod = Convert.ToString(sqlComm.Parameters["@password"].Value);
  23. MessageBox.Show(passwrod);
  24. }
  25. }
上一篇:C# 调用带输入输出参数的存储过程


下一篇:CentOS7 Java安装