logo 广告
Loading...
 导航 所在位置:论坛首页 -> ┈┋电脑网络┋┈ -> Asp/Asp.Net教程 -> Visual C#通用模块开发:后台管理员模块
回复
标题:Visual C#通用模块开发:后台管理员模块收藏 编辑 删除 楼主 | 上一篇 下一篇
discuz
头像
等级:社区游侠
权限:普通用户
积分:30
金钱:137
声望:57
经验:57
发帖数:57
注册:2008年8月24日
资料 短消息2008-8-28 9:30:09
在一个网站应用系统里,系统管理员拥有管理用户的权限。在本登录模块里,让管理员有查询用户的信息权限。

  界面设计

  在登录界面,如果系统发现登录用户的权限是“管理员”,则跳转进入后台管理员管理模块。在这个模块里,管理员可以输入“用户名”或“用户昵称”,单击“查找”按钮查询用户信息,查询结果用gridview显示。按照图4-8所示设计界面。

图4-8 后台管理员界面

  表4-6列出了后台管理员界面里各主要控件的类型和功能。

  

 控 件 ID  控 件 类 型  功 能 描 述
 Label2  Label  用来显示“用户名” 字符
 Label4  Label  用来显示“用户昵称”字符
 tbxUserName TextBox(textMode是SingleLine)  用来接收输入的“用户名” 值
 tbxNickName TextBox(textMode是SingleLine)  用来接收输入的“用户昵称” 值
 btnSearch  button  查找按钮
 gvUserSearc  gridview  用于显示查询到的用户信息

  业务逻辑设计

  按以下步骤编写Manager.aspx的业务逻辑设计代码。

  (1) 双击Manager.aspx窗体的空白处,进入相应的逻辑代码文件Manager.aspx.cs。同样在该文件的顶端,添加数据库访问引用的命名空间语句。

  using System.Data.SqlClient;

  并在class的开头添加连接数据库的字符串定义。

  private static string strConnect =System.Configuration.ConfigurationManager.AppSettings["connStr"];

  (2) 在Manager.aspx的设计里,双击“查找”按钮,进入按钮的事件处理函数。该函数的代码如下。

  // 单击查找事件

  protected void btnSearch_Click(object sender, EventArgs e)

  {

  // 数据库连接

  SqlConnection objConnection = new SqlConnection(strConnect);

  // 数据库命令

  SqlCommand objCommand = new SqlCommand("", objConnection);

  // 设置Sql语句,多表连接,获取用户权限

  // 这里有个小技巧:在where从句里,查询条件或有或无

  // 所以使用where 1=1 这样的语句,避免因无查询条件而带来的错误

  objCommand.CommandText =" SELECT USERS.USERNAME, USERS.NICKNAME,USERS.USEREMAIL, USERROLE.ROLENAME " +" FROM USERS " + " LEFT JOIN USERROLE ON USERS.USERROLE = USERROLE.ROLELEVEL " +" WHERE 1=1 ";

  if (tbxUserName.Text != "")

  objCommand.CommandText += " AND USERS.USERNAME LIKE @USERNAME";

  if (tbxNickName.Text != "")

签名

2008-8-28 9:30:09 顶部
discuz
头像
等级:社区游侠
权限:普通用户
积分:30
金钱:137
声望:57
经验:57
发帖数:57
注册:2008年8月24日
  资料  消息 短消息编辑 删除 引用 第2楼
objCommand.CommandText += " AND USERS.NICKNAME LIKE @NICKNAME";

  // 设置Sql语句参数类型

  objCommand.Parameters.Add("USERNAME", SqlDbType.VarChar);

  objCommand.Parameters.Add("NICKNAME", SqlDbType.VarChar);

  // Sql语句参数赋值

  objCommand.Parameters["USERNAME"].Value = "%" + tbxUserName.Text.Trim() + "%";

  objCommand.Parameters["NICKNAME"].Value = "%" + tbxNickName.Text.Trim() + "%";

  //这里使用DataAdapter和DataSet获取数据

  DataSet objDataset = new DataSet();

  SqlDataAdapter objAdapter = new SqlDataAdapter(objCommand);

  try

  {

  // 打开数据库连接

  if (objConnection.State == ConnectionState.Closed)

  {

  objConnection.Open();

  }

  // 数据填充

  objAdapter.Fill(objDataset, "UserSearch");

  }

  catch (SqlException exp)

  {

  Session["Error"] = exp.Message;

  Response.Redirect("Error.aspx");

  }

  finally

  {

  // 关闭数据库连接

  if (objConnection.State == ConnectionState.Open)

  {

  objConnection.Close();

  }

  }

  // 设置数据源

  gvUserSearch.DataSource = objDataset.Tables["UserSearch"];

  // 绑定数据源

  gvUserSearch.DataBind();

  }

  这段代码的主要业务逻辑是:根据管理员输入的用户名和用户昵称信息,从数据库中查询相应的用户,并在gridview控件中显示查询到的数据结果。这段代码里关于获得连接、创建Command对象和执行查询等方法同用户登录模块中的数据操作方法雷同,但使用了DataAdpater和DataSet获取数据。

  使用DataAdapter和DataSet对象获取数据的主要步骤如下。

  (1) 创建连接和命令对象,并使用连接对象连接到数据源。

签名
2008-8-28 9:30:26 顶部
discuz
头像
等级:社区游侠
权限:普通用户
积分:30
金钱:137
声望:57
经验:57
发帖数:57
注册:2008年8月24日
  资料  消息 短消息编辑 删除 引用 第3楼
(2) 填充命令对象。这里查询的SQL语句的主干是:SELECT USERS.USERNAME, USERS.NICKNAME, USERS.USEREMAIL, USERROLE.ROLENAME FROM USERS LEFT JOIN USERROLE ON USERS.USERROLE = USERROLE. ROLELEVEL,后面再加上输入的用户名和用户昵称。通过两张表的连接,把用户的用户名、用户昵称和用户权限查询出来。

  (3) 使用SqlDataAdapter objAdapter = new SqlDataAdapter(objCommand)语句,根据Command对象创建DataAdapter对象。

  (4) 使用objAdapter.Fill(objDataset, "UserSearch");语句(这里UserSearch是数据表名)将查询结果填充到DataSet对象中。

  另外,在本界面里还用到了gridview对象来显示查询结果。通过gvUserSearch.DataSource = objDataset.Tables["UserSearch"]语句来设置gridview的数据源,通过gvUserSearch.DataBind ()来绑定数据源。这样,由于有了绑定关系,一旦使用SqlDataAdapter对象从数据库中获得数据,在gridview里就能显示查询结果。

签名
2008-8-28 9:30:47 顶部
第1页 共1页 共2个回复     <<    >>    
 快速回复
  • 支持UBB,HTML标签

  • 高级回复

  • 操作选项:评分 加精 解精 奖惩 设专题 设公告 解公告 固顶 总固顶 解固顶 结帖 解结帖 锁帖 解锁 移帖 删帖
      首页 | 购买指南 | 虚拟主机 | 特色介绍 | 下载中心 | 支付方式
    Copyright 2004-2008 BBSGood.com Powered By: BBSGood.Speed Version 5.0
      咨询电话:0575-85513832、0575-85513825(传真)、7*24小时咨询服务:13606552007 不良信息举报中心 浙ICP备05029817号
      业务QQ:38958768、客服QQ1:415896239、客服QQ2:343896043、MSN:jccsxx@hotmail.com