一個簡單例子如下:
1、建立預存程序(用於使用者身分識別驗證):
Create Procedure CheckUser
(
@userid char(20),
@userpsw char(20)
)
as
if exists(select * from tb_UserInfo where rtrim(UserID)=@userid and rtrim(UserPsw)=@userpsw)
return 1
else
return 0
2、Asp.net執行代碼:
//串連資料庫
string myStr = ConfigurationManager.AppSettings["connectionstring"].ToString();
SqlConnection myConn = new SqlConnection(myStr);
myConn.Open();
//建立SqlCommand對象
SqlCommand cmd = new SqlCommand("CheckUser",myConn);
cmd.CommandType = CommandType.StoredProcedure;
//添加參數
SqlParameter Userid = cmd.Parameters.Add("@Userid", SqlDbType.Char);
SqlParameter Userpsw= cmd.Parameters.Add("@Userpsw", SqlDbType.Char);
SqlParameter returnvalue = cmd.Parameters.Add("@returnvalue", SqlDbType.Int);
//指定參數是只可輸入(Input)、輸出(Output)還是傳回值(ReturnValue)
Userid.Direction = ParameterDirection.Input;
Userpsw.Direction = ParameterDirection.Input;
returnvalue.Direction = ParameterDirection.ReturnValue;
//為傳遞給預存程序的參數賦值
Userid.Value =tbUserName.Text.Trim();
Userpsw.Value = tbPsw.Text.Trim();
//執行SQL預存程序
cmd.ExecuteNonQuery();
//得到並判斷傳回值
if ((int)returnvalue.Value == 1)
{
Session["user"] = tbUserName.Text.Trim();
Response.Write("目前使用者:" + Session["user"]);
}
else
{
Response.Write("使用者不存在!");
}