在vb.net中获取Dropdownlist选择的值

时间:2015-10-14 06:06:04

标签: sql-server vb.net drop-down-menu selectedvalue

我正在尝试为我的系统设置用户帐户。我有两个表(用户和员工)

这是设置用户的界面 enter image description here

名称下拉列表需要绑定到员工表,我可以在其中显示员工列表。当我将这些数据插入用户表时,我需要将选定的员工姓名转换为其ID。

我在编程方面确实很弱,如果可能的话,帮助我解决这个问题。 这是我正在使用的代码

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles btnUserAdd.Click
    If ValidData() Then
        Try
            cmd.Connection = con
            con.Open()
            sel_id = Convert.ToString(cmbStaffName.SelectedValue)
            cmd.CommandType = System.Data.CommandType.Text
            cmd.CommandText = "Insert Into dbo.[User] (User_ID,Employee_ID,User_Name,Password,User_Level) values ('" & txtBoxUserID.Text & "','" & sel_id & "','" & txtBoxUserName.Text & "', '" & txtBoxPassword.Text & "','" & ComboBox1.Text & "')"
            cmd.ExecuteNonQuery()
            MsgBox("Succesfully Added", MsgBoxStyle.Information, "add")

        Catch ex As Exception
            MessageBox.Show(ex.Message)

        End Try
        con.Close()
    End If

    If Not ValidData() Then
        Exit Sub
    End If
End Sub



Private Sub btnUserUpdate_Click(sender As Object, e As EventArgs) Handles btnUserUpdate.Click

End Sub

Private Sub Setup_User_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    'TODO: This line of code loads data into the 'MyHotelManagementSystemDataSet19.Staff' table. You can move, or remove it, as needed.
    Me.StaffTableAdapter1.Fill(Me.MyHotelManagementSystemDataSet19.Staff)
    'TODO: This line of code loads data into the 'MyHotelManagementSystemDataSet18.Staff' table. You can move, or remove it, as needed.
    Me.User_TypeTableAdapter.Fill(Me.MyHotelManagementSystemDataSet17.User_Type)

End Sub

Private Sub cmbStaffName_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cmbStaffName.SelectedIndexChanged

    Try
        con.Open()
        ds = New DataSet()
        cmd = New SqlCommand("select * from Staff", con)
        Adapter = New SqlDataAdapter(cmd)
        adapter.Fill(ds)
        cmbStaffName.DataSource = StaffBindingSource1
        cmbStaffName.DisplayMember = "Name"
        cmbStaffName.ValueMember = "Employee_ID"

    Catch ex As Exception
    Finally
        con.Close()
    End Try
End Sub

1 个答案:

答案 0 :(得分:0)

    Private Sub cmbStaffName_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cmbStaffName.SelectedIndexChanged

        Try
            con.Open()
            ds = New DataSet()
            cmd = New SqlCommand("select * from Staff", con)
            Using adapter as New SqlDataAdapter(cmd)  
                 adapter.Fill(ds)
            End Using

            cmbStaffName.DisplayMember = "Name"
            cmbStaffName.ValueMember = "Employee_ID"
            cmbStaffName.DataSource = ds


        Catch ex As Exception
        Finally
            con.Close()
        End Try
    End Sub