二见钟情之ComboBox显示查询结果集

	在做机房收费系统.net个人版结账功能的时候,需要通过选择用户ID获取用户姓名。这个功能我用了两步来实现。	
	首先,要在窗体加载的时候将查询到的用户ID添加到comboUserID中(即用户ID),这一步是在frmCheckOut的load事件中写的。因为只有操作员和管理员才有权限进行注册、充值、退卡操作,所以查询条件为“用户级别不等于一般用户”即可。
	D层SQL语句为: 
 '查询用户
    Public Shared Function CheckUserID(ByVal enUser As UserInfoEntity) As DataTable
        Dim sqlhelper As New sqlHelper.sqlHelper
        Dim cmdtext As String = "select UserID from [T_User] where [Level]<>@Levle"
        Dim sqlparas As SqlParameter() = {New SqlParameter("@Levle", "一般用户")}
        Dim dtUser As DataTable = sqlhelper.ExecSelect(cmdtext, CommandType.Text, sqlparas)
        Return dtUser
    End Function
	U层代码为:
 Private Sub frmCheckOut_Load(sender As Object, e As EventArgs) Handles Me.Load

        '实例化实体
        Dim enUser As New UserInfoEntity
        Dim dtUser As DataTable = UserManageBLL.CheckUserID(enUser)

        '将用户全部添加到comboUserID控件中
        For k = dtUser.Rows.Count To 1 Step -1
            Dim UserID As String = dtUser.Rows(k - 1)(0)
            comboUserID.Items.Add(UserID)
        Next
        txtUserName.Enabled = False
        txtUserName.BackColor = Color.White
    End Sub
 
	运行结果如下图:

	
	接下来就是通过用户ID的选择关联显示用户姓名,这一功能是在comboUserID的SelectedIndexChanged事件中实现的。
	D层代码为:	
 '通过用户ID查询用户名
    Public Shared Function CheckUserName(ByVal enUser As UserInfoEntity) As DataTable
        Dim sqlhelper As New sqlHelper.sqlHelper
        Dim cmdtext As String = "select UserName from [T_User] where UserID =@UserID"
        Dim sqlparas As SqlParameter() = {New SqlParameter("@UserID", enUser.UserID)}
        Dim dtUserName As DataTable = sqlhelper.ExecSelect(cmdtext, CommandType.Text, sqlparas)
        Return dtUserName
    End Function
	U层代码为:	
Private Sub comboUserID_SelectedIndexChanged(sender As Object, e As EventArgs) Handles comboUserID.SelectedIndexChanged
        '根据用户ID的选择结果关联控件comboUserName
        Dim enUser As New UserInfoEntity
        enUser.UserID = Trim(comboUserID.Text)
        '调用B层函数
        Dim dtUserName As DataTable = UserManageBLL.CheckUserName(enUser)
        '显示用户姓名
        txtUserName.Text = dtUserName.Rows(0)(0)
    End Sub	
	运行结果为:
	
	其实这个小功能挺简单的,但是刚开始的时候在显示用户ID的时候走了点弯路,任何问题解决了以后都觉得它是简单的,但是那个思考和实践的过程却是别有一番滋味在心头。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 17
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值