主要的指定好CommandType以及输入、输出参数,然后就可以通过ado.net调用存储过程了。http://support.microsoft.com/kb/310070/zh-cn

解决方案 »

  1.   


      User Id:<asp:TextBox ID="txtUserId" runat="server"></asp:TextBox>
        Password:<asp:TextBox ID="txtPassword" runat="server" TextMode="Password"></asp:TextBox>
        <asp:Button ID="btnLogin" runat="server" Text="Login" 
            onclick="btnLogin_Click" />        public DataSet ExecuteDataSet(CommandType commandType, string commandText, SqlParameter[] parameters) {
                using (SqlConnection conn = new SqlConnection("server=.;database=数据库;uid=sa;pwd=密码")) {
                    SqlCommand cmd = conn.CreateCommand();
                    cmd.CommandType = commandType;
                    cmd.CommandText = commandText;
                    if (parameters != null) {
                        cmd.Parameters.AddRange(parameters);
                    }
                    DataSet ds = new DataSet();
                    using (SqlDataAdapter dapter = new SqlDataAdapter(cmd)) {
                        dapter.Fill(ds);
                    }
                    return ds;
                }
            }        protected void btnLogin_Click(object sender, EventArgs e) {
                string userId = txtUserId.Text.Trim();
                string pwd = txtPassword.Text.Trim();
                SqlParameter parameter_user_id = new SqlParameter();
                parameter_user_id.ParameterName = "@User";
                parameter_user_id.Value = userId;
                parameter_user_id.DbType = DbType.String;
                parameter_user_id.Direction = ParameterDirection.Input;            SqlParameter parameter_user_pwd = new SqlParameter();
                parameter_user_pwd.ParameterName = "@pswd";
                parameter_user_pwd.Value = pwd;
                parameter_user_pwd.DbType = DbType.String;
                parameter_user_pwd.Direction = ParameterDirection.Input;            SqlParameter parameter_return_value = new SqlParameter();
                parameter_return_value.DbType = DbType.Int32;
                parameter_return_value.Direction = ParameterDirection.ReturnValue;            var ds = ExecuteDataSet(CommandType.StoredProcedure, "prc_UserLogin", new SqlParameter[] { parameter_user_id, parameter_user_pwd, parameter_return_value });
                string msg = ds.Tables[0].Rows[0][0].ToString();
                if (Convert.ToInt32(parameter_return_value.Value) == -1) {//登录失败
                    //todo
                }
                else {//登录成功
                    //todo
                }
            }