我在一个页面的load事件中这样写到(加载数据库中的员工编号,员工姓名到此combobox中)
Dim mConn As New Connection
Dim conn As SqlConnection = mConn.SqlConnection
Dim comm As SqlCommand = conn.CreateCommand
Dim sqlDbReader As SqlDataReader
Try
conn.Open()
comm.CommandText = "select hr_EmployeeID,hr_EngName,hr_ChiName,hr_DepartmentEngName,hr_TeamName from v_EmployeeInfo order by hr_EmployeeID " 'where hr_CompanyID in (" & MDIPmain.sysCompanyID & ") and hr_DepartmentID in (" & MDIPmain.sysDepartmentID & ")"
sqlDbReader = comm.ExecuteReader
Dim DBTable As New DataTable
DBTable.Load(sqlDbReader)
Cbb_Employee.DataSource = DBTable
Cbb_Employee.DisplayMember = "hr_EmployeeID"
Cbb_Employee.ValueMember = "hr_EngName"
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly, "錯誤")
Finally
comm.Dispose()
conn.Dispose()
conn.Close()
End Try
If Cbb_Employee.Items.Count > 0 Then
Cbb_Employee.SelectedIndex = 0
End If
Private Sub Cbb_Employee_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cbb_Employee.TextChanged
txt_EmpName.Text = Cbb_Employee.SelectedValue.ToString
btn_AddToChecked.Enabled = True
End Sub结果txt_EmpName.text=System.Data.DataRowView
第二次正常,请问应该如何改?
Dim mConn As New Connection
Dim conn As SqlConnection = mConn.SqlConnection
Dim comm As SqlCommand = conn.CreateCommand
Dim sqlDbReader As SqlDataReader
Try
conn.Open()
comm.CommandText = "select hr_EmployeeID,hr_EngName,hr_ChiName,hr_DepartmentEngName,hr_TeamName from v_EmployeeInfo order by hr_EmployeeID " 'where hr_CompanyID in (" & MDIPmain.sysCompanyID & ") and hr_DepartmentID in (" & MDIPmain.sysDepartmentID & ")"
sqlDbReader = comm.ExecuteReader
Dim DBTable As New DataTable
DBTable.Load(sqlDbReader)
Cbb_Employee.DataSource = DBTable
Cbb_Employee.DisplayMember = "hr_EmployeeID"
Cbb_Employee.ValueMember = "hr_EngName"
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly, "錯誤")
Finally
comm.Dispose()
conn.Dispose()
conn.Close()
End Try
If Cbb_Employee.Items.Count > 0 Then
Cbb_Employee.SelectedIndex = 0
End If
Private Sub Cbb_Employee_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cbb_Employee.TextChanged
txt_EmpName.Text = Cbb_Employee.SelectedValue.ToString
btn_AddToChecked.Enabled = True
End Sub结果txt_EmpName.text=System.Data.DataRowView
第二次正常,请问应该如何改?
Cbb_Employee.ValueMember = "hr_EngName"
写反了吧
Dim conn As SqlConnection = mConn.SqlConnection
Dim comm As SqlCommand = conn.CreateCommand
Dim sqlDbReader As SqlDataReader
Try
conn.Open()
comm.CommandText = "select hr_EmployeeID,hr_EngName,hr_ChiName,hr_DepartmentEngName,hr_TeamName from v_EmployeeInfo order by hr_EmployeeID " 'where hr_CompanyID in (" & MDIPmain.sysCompanyID & ") and hr_DepartmentID in (" & MDIPmain.sysDepartmentID & ")"
sqlDbReader = comm.ExecuteReader
Dim DBTable As New DataTable
DBTable.Load(sqlDbReader)
Cbb_Employee.DataSource = DBTable
Cbb_Employee.DisplayMember = "hr_EmployeeID"
Cbb_Employee.ValueMember = "hr_EngName"
txt_EmpName.Text = Cbb_Employee.SelectedValue.ToString
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly, "錯誤")
Finally
comm.Dispose()
conn.Dispose()
conn.Close()
End Try
If Cbb_Employee.Items.Count > 0 Then
Cbb_Employee.SelectedIndex = 0
End If
下面正常
这样就OK了
Dim conn As SqlConnection = mConn.SqlConnection
Dim comm As SqlCommand = conn.CreateCommand
Dim sqlDbReader As SqlDataReader
Try
conn.Open()
comm.CommandText = "select hr_EmployeeID,hr_EngName,hr_ChiName,hr_DepartmentEngName,hr_TeamName from v_EmployeeInfo order by hr_EmployeeID " 'where hr_CompanyID in (" & MDIPmain.sysCompanyID & ") and hr_DepartmentID in (" & MDIPmain.sysDepartmentID & ")"
sqlDbReader = comm.ExecuteReader
Dim DBTable As New DataTable
DBTable.Load(sqlDbReader)
Cbb_Employee.DataSource = DBTable
Cbb_Employee.DisplayMember = "hr_EmployeeID"
Cbb_Employee.ValueMember = "hr_EngName"
txt_EmpName.Text = Cbb_Employee.SelectedValue.ToString
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly, "錯誤")
Finally
comm.Dispose()
conn.Dispose()
conn.Close()
End Try
If Cbb_Employee.Items.Count > 0 Then
Cbb_Employee.SelectedIndex = 0
End If
下面正常
这样就OK了
Dim conn As SqlConnection = mConn.SqlConnection
Dim comm As SqlCommand = conn.CreateCommand
Dim sqlDbReader As SqlDataReader
Try
conn.Open()
comm.CommandText = "select hr_EmployeeID,hr_EngName,hr_ChiName,hr_DepartmentEngName,hr_TeamName from v_EmployeeInfo order by hr_EmployeeID " 'where hr_CompanyID in (" & MDIPmain.sysCompanyID & ") and hr_DepartmentID in (" & MDIPmain.sysDepartmentID & ")"
sqlDbReader = comm.ExecuteReader
Dim DBTable As New DataTable
DBTable.Load(sqlDbReader)
Cbb_Employee.DataSource = DBTable
Cbb_Employee.DisplayMember = "hr_EmployeeID"
Cbb_Employee.ValueMember = "hr_EngName"
txt_EmpName.Text = Cbb_Employee.SelectedValue.ToString
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly, "錯誤")
Finally
comm.Dispose()
conn.Dispose()
conn.Close()
End Try
If Cbb_Employee.Items.Count > 0 Then
Cbb_Employee.SelectedIndex = 0
End If
Private Sub Cbb_Employee_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cbb_Employee.TextChanged
txt_EmpName.Text = Cbb_Employee.SelectedValue.ToString
btn_AddToChecked.Enabled = True
End Sub 这样就OK了