数据访问层的方法
help类中的方法
//使用带参数的存储过程
public SqlDataReader GetReaderProc(string procSql, SqlParameter[] paras)
{
command = new SqlCommand(procSql, conn);
command.CommandText = procSql;
command.CommandType = CommandType.StoredProcedure;
command.Parameters.AddRange(paras);
reader = command.ExecuteReader();
return reader;
}
//执行增删改的存储过程
public int ExecuteProcSql(string procSql)
{
command = new SqlCommand(procSql, conn);
command.CommandText = procSql;
command.CommandType = CommandType.StoredProcedure;
return command.ExecuteNonQuery();
}
services类中的方法:
public Users SearchUser(string procName,SqlParameter[] paras)
{
DBHelper help = new DBHelper();
help.openDB();
SqlDataReader reader = help.GetReaderProc(procName,paras);
Users user = null;
if (reader.HasRows)
{
while (reader.Read())
{
user = new Users();
user.UserId = Convert.ToInt32(reader["userId"].ToString());
user.UserName = reader["userName"].ToString();
user.Email = reader["email"].ToString();
user.Hobby = reader["hobby"].ToString();
user.CreateTime = Convert.ToDateTime(reader["createTime"].ToString());
user.Sex = (gender)Enum.Parse(typeof(gender), reader["sex"].ToString());
}
reader.Close();
}
help.closeDB();
return user;
}
业务逻辑层中的方法:
public IList<Users> SearchAllUser()
{
List<Users> userList =(List<Users>)services.SearchAllUser("proc_SearchAllUsers");
return userList;
}
UI中的方法:
e.CommandArgument 是传的Id参数、封装在e.CommandArgument中
Users user = member.SearchUser(Convert.ToInt32(e.CommandArgument.ToString()));