標籤:os io ar 資料 cti sp log on c
CREATE PROCEDURE ProGetPWD
@username varchar(20),
@password varchar(20) OUTPUT
AS
BEGIN
SELECT @password = password
FROM Users
WHERE username = @username
END
string sql = "Data Source=.;Initial Catalog=Test;Integrated Security=True;";
using (SqlConnection conn = new SqlConnection(sql))
{
conn.Open();
SqlCommand cmd = conn.CreateCommand();
//設定要調用的預存程序的名稱
cmd.CommandText = "GetuserPwd";
//指定SqlCommand對象傳給資料庫的是預存程序的名稱而不是sql語句
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter userName = cmd.Parameters.Add(new SqlParameter("@userName", SqlDbType.VarChar, 20));
//指明"@userName"是輸入參數
userName.Direction = ParameterDirection.Input;
//為@userName參數賦值
userName.Value = txtUserName.Text;
SqlParameter userPwd = cmd.Parameters.Add(new SqlParameter("@userPwd", SqlDbType.VarChar, 20));
//指明"@userPwd"是輸出參數
userPwd.Direction = ParameterDirection.Output;
//執行
cmd.ExecuteNonQuery();
//得到輸出參數的值,把賦值給name,注意,這裡得到的是object類型的,要進行相應的類型輪換
string passwrod = Convert.ToString(cmd.Parameters["@userPwd"].Value);
MessageBox.Show(passwrod);
}
c#調用帶輸出參數的預存程序