在C#中用最简洁有效的代码执行存储过程并返回数据
存储过程 p_sys_Login 定义如下: CREATE PROCEDURE p_sys_Login @argUserID varchar(20), --用户名 @argPassword varchar(20), --密码 @argResult varchar(50) OUTPUT --登录结果 AS /* ... ... */ 下面演示如何在C#中用最简洁有效的代码执行该存储过程并返回数据: /// <summary> /// 用户登录验证 /// </summary> /// <param name="userID">用户名</param> /// <param name="password">密码</param> public void Login(string userID, string password) { //数据库连接字符串存储在 Web.config 中 string cnnString = ConfigurationSettings.AppSettings["ConnectionString"]; SqlConnection cnn = new SqlConnection(cnnString);
string sql = string.Format("EXEC p_sys_Login {0} , {1} , @Result OUTPUT", userID, password); SqlCommand cmd = new SqlCommand(sql, cnn); //建立并添加和“@Result OUTPUT”对应的参数 SqlParameter paramResult = new SqlParameter("@Result", SqlDbType.VarChar, 50); paramResult.Direction = ParameterDirection.Output; cmd.Parameters.Add(paramResult); cnn.Open(); cmd.ExecuteNonQuery(); cnn.Close(); //获取存储过程返回的结果 string result = paramResult.Value.ToString(); //... ... } |