大虾 们,本人才开始转asp.net C#,请教下以下红色的的什么意思,我看了不是很懂,希望帮帮忙,非常感谢!
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.Collections.Generic;
/// <summary>
/// Users 的摘要说明
/// </summary>
public class Users
{
    private int _userid;
    private string _username;
    private string _userpwd;
    public int UserId
    {
        get { return this._userid; }
        set { this._userid = value; }
    }
   public string UserName
    {
        get { return this._username; }
        set { this._username = value; }
    }
    public string UserPwd
    {
        get { return this._userpwd; }
        set { this._userpwd = value; }
    }
public Users()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
    public Users(int UserId,string UserName,string UserPwd)
    {
        this._userid = UserId;
        this._username = UserName;
        this._userpwd = UserPwd;
    }

    public Users(SqlDataReader Dr)
    {
        this._userid = Convert.ToInt32(Dr["UserId"]);
        this._username = Dr["UserName"].ToString();
        this._userpwd = Dr["UserPwd"].ToString();
    }
    public static bool AddUser(Users singleUser)
    {   
        bool Flage=false;
        string procname = "dbo.AddUser";
        SqlParameter[] prams ={new SqlParameter("@UserName",SqlDbType.VarChar,50),
                              new SqlParameter("@UserPwd",SqlDbType.VarChar,100)};
        prams[0].Value = singleUser.UserName;
        prams[1].Value = singleUser.UserPwd;
        int intResult = DataBase.RunExecute(procname, prams);
        if(intResult>0)
        {
            Flage = true;
        }
        return Flage;
        
    }
    public static bool DeleteUser(Users SingleUser)
    {
        bool Flage = false;
        string procname = "dbo.DeleteUser";
        SqlParameter[] prams ={new SqlParameter("@UserId",SqlDbType.Int)};
        prams[0].Value = SingleUser.UserId; 
        int intResult = DataBase.RunExecute(procname, prams);
        if (intResult > 0)
        {
            Flage = true;
        }
        return Flage;
        
    }
    public static bool UpdateUser(Users singleUser)
    {
        bool Flage = false;
        string procname = "dbo.UpdateUser";
        SqlParameter[] prams ={new SqlParameter("@UserId",SqlDbType.Int),
                               new SqlParameter("@UserName",SqlDbType.VarChar,50),
                               new SqlParameter("@UserPwd",SqlDbType.VarChar,100)};
        prams[0].Value = singleUser.UserId;
        prams[1].Value = singleUser.UserName;
        prams[2].Value = singleUser.UserPwd;
        int intResult = DataBase.RunExecute(procname, prams);
        if (intResult > 0)
        {
            Flage = true;
        }
        return Flage;    }
    public static bool ChangePwd(int UserId,string UserPwd)
    {
        bool Flage = false;
        string procname = "dbo.ChangePwd";
        SqlParameter[] prams ={new SqlParameter("@UserId",SqlDbType.Int),
                               new SqlParameter("@UserPwd",SqlDbType.VarChar,100)};
        prams[0].Value = UserId;
        prams[1].Value = UserPwd;
        int intResult = DataBase.RunExecute(procname, prams);
        if (intResult > 0)
        {
            Flage = true;
        }
        return Flage;    }
    public static bool ValidateUser(string UserName,string UserPwd)
    {
        bool Flage = false;
        string procname = "dbo.ValidateUse";
        SqlParameter[] prams ={new SqlParameter("@UserName",SqlDbType.VarChar,50),
                              new SqlParameter("@UserPwd",SqlDbType.VarChar,100)};
        prams[0].Value = UserName;
        prams[1].Value = UserPwd;
        int intResult = DataBase.RunExecuteScalar(procname, prams);
        if (intResult > 0)
        {
            Flage = true;
        }
        return Flage;
    }
    public static bool IsValidateUserName(string UserName)
    {
        bool Flage = false;
        string procname = "dbo.IsValidateUserName";
        SqlParameter[] prams ={new SqlParameter("@UserName",SqlDbType.VarChar,50)};
        prams[0].Value = UserName;
        int intResult = DataBase.RunExecuteScalar(procname, prams);
        if (intResult > 0)
        {
            Flage = true;
        }
        return Flage;
    }
    public List<Users> GetAllUsers()
    {
        List<Users> AllUsers = new List<Users>();
        string procname = "dbo.GetAllUsers";
        SqlDataReader Dr = DataBase.RunProcGetReader(procname);
        while(Dr.Read())
        {
            AllUsers.Add(new Users(Dr));
          
        }
        Dr.Close();
        return AllUsers;
    }

    public string GetUserNameByUserId(int UserId)
    {
        string strUserName = string.Empty;
        string procname = "dbo.GetUserNameByUserId";
        SqlParameter[] prams ={new SqlParameter("@UserId",SqlDbType.Int)};
        prams[0].Value = UserId;
        SqlDataReader Dr = DataBase.RunProcGetReader(procname);
        while (Dr.Read())
        {
            strUserName = Dr["UserName"].ToString();
        }
        Dr.Close();
        return strUserName;
    }
    public Users GetUserByUserId(int UserId)
    {
        Users SingleUser = new Users();
        string procname = "dbo.GetUserByUserId";
        SqlParameter[] prams ={ new SqlParameter("@UserId", SqlDbType.Int) };
        prams[0].Value = UserId;
        SqlDataReader Dr = DataBase.RunProcGetReader(procname);
        while (Dr.Read())
        {
            SingleUser =new Users(Dr);
        }
        Dr.Close();
        return SingleUser;
    }
}

解决方案 »

  1.   

    前面就是构造函数 
    实列化的时候
    后面 
    很简单吗
    public List<Users> GetAllUsers()
    {
    List<Users> AllUsers = new List<Users>();
    string procname = "dbo.GetAllUsers";
    SqlDataReader Dr = DataBase.RunProcGetReader(procname);
    while(Dr.Read())
    {
    AllUsers.Add(new Users(Dr));}
    Dr.Close();
    return AllUsers
    就是通过返回datareaer
    来得到 一个 对象
    得到对象集合吗
      

  2.   

    public Users(int UserId,string UserName,string UserPwd)
    {
    }
    构造函数
    public Users GetUserByUserId(int UserId)
    {
    Users SingleUser = new Users();
    string procname = "dbo.GetUserByUserId";
    SqlParameter[] prams ={ new SqlParameter("@UserId", SqlDbType.Int) };
    prams[0].Value = UserId;
    SqlDataReader Dr = DataBase.RunProcGetReader(procname);
    while (Dr.Read())
    {
    SingleUser =new Users(Dr);
    }
    Dr.Close();
    return SingleUser;
    }
    根据ID通过GetUserByUserId存储过程查询用户信息,生成Users 实例
      

  3.   

    呵呵
    那以下红色的是不是分别为:实例化SqlDataReader和Users对象为Dr及singleUser
    然后通过实例化的对象singleUser操作属性UserName及UserPwd;
      public Users(SqlDataReader Dr)    {
    -----------------------以下代码什么意思?------------------------------------------
            this._userid = Convert.ToInt32(Dr["UserId"]);
            this._username = Dr["UserName"].ToString();
            this._userpwd = Dr["UserPwd"].ToString();
        }public static bool AddUser(Users singleUser)
        {   
            bool Flage=false;
            string procname = "dbo.AddUser";
            SqlParameter[] prams ={new SqlParameter("@UserName",SqlDbType.VarChar,50),
                                  new SqlParameter("@UserPwd",SqlDbType.VarChar,100)};
            prams[0].Value = singleUser.UserName;
            prams[1].Value = singleUser.UserPwd;
           
     int intResult = DataBase.RunExecute(procname, prams);
            if(intResult>0)
            {
                Flage = true;
            }
            return Flage;
            
        }
      

  4.   

    无所谓好坏基本上DAL跟MODEL里的东西都放一起了,分开的话思路会更清晰一些
      

  5.   

    头两个函数是这个类的构造函数。
    第三个函数是返回一个元素为User类实体的List
    第四个函数是返回一个User类实体
      

  6.   

    仔细一看DAL和model怎么写在一起啊、、、不好不好
      

  7.   

    哦,那是不是像6楼说的那样,要把DAL及MODEL分别放在不同的类中吗?
    以上模式是按三层模式做的