Arrays 在组合框中显示数组
这就是我所拥有的,给了我无法绑定的错误Arrays 在组合框中显示数组,arrays,vb.net,combobox,Arrays,Vb.net,Combobox,这就是我所拥有的,给了我无法绑定的错误 Dim STSQL = <sql>SELECT Employee_id, First_name, MIDDLE_INITIAL, last_name, (Employee_id || ' ' || First_name || ' ' || last_name) As EmpName FROM mpcs.Employee</sql>.Value rsMPCS = MPCS_SELECT_SQL
Dim STSQL = <sql>SELECT Employee_id, First_name, MIDDLE_INITIAL, last_name,
(Employee_id || ' ' || First_name || ' ' || last_name) As EmpName
FROM mpcs.Employee</sql>.Value
rsMPCS = MPCS_SELECT_SQL(UCase(STSQL), rsMPCS)
dtEmp = New DataTable
dtEmp.Load(rsMPCS)
cboEmployee.DataSource = dtEmp
cboEmployee.DisplayMember = "EmpName"
cboEmployee.ValueMember = "ID"
Dim STSQL=选择员工id、名字、中间首字母、姓氏、,
(员工| | | | | | | | | | | | | | | | |姓氏)作为员工姓名
来自mpcs.Employee.Value
rsMPCS=MPCS\u SELECT\u SQL(UCase(STSQL),rsMPCS)
dtEmp=新数据表
dtEmp.负载(rsMPCS)
cboEmployee.DataSource=dtEmp
cboEmployee.DisplayMember=“EmpName”
cboEmployee.ValueMember=“ID”
首先更改此选项
Public ArrEmployee(3, 0) As String
到
那么这部分应该是这样的
ArrEmployee(x, 0) = rsMPCS("Employee_id")
ArrEmployee(x, 1) = rsMPCS("First_name")
ArrEmployee(x, 2) = rsMPCS("MIDDLE_INITIAL")
ArrEmployee(x, 3) = rsMPCS("last_name")
x += 1
最后,当您想要添加到combobox时
For x = 0 To UBound(ArrEmployee, 2) - 1
Dim textToAdd As String = String.Format("{0} {1} {2} {3}", ArrEmployee(x, 0), ArrEmployee(x, 1), ArrEmployee(x, 2), ArrEmployee(x, 3))
cboEmployee.Items.Add(textToAdd)
Next
也就是说,您应该真正创建employee类,然后创建该类的列表。从长远来看,这会更容易、更整洁、做得更恰当。我不知道什么是
rsMPCS
或MPCS\u SELECT\u SQL
。该错误是Oracle错误,因为在Oracle上,CONCAT接受2个参数,并且只有2个参数。所以只要把几个粘在一起就可以了:如图所示(假设它是Oracle-我只是继续出错,我以为你以前的Qs使用的是MySQL)。你显然从未使用过绑定的数据源。ValueMember和DisplayMember应该是要绑定到的属性或成员的名称。在本例中,它们将是datatable中的列名。您没有名为Id
的列,请使用Employee\u Id
我知道我是个新手。在这个网站上这样做对我帮助很大,我记笔记,保存所有东西,最终我会变得更好。所以现在当我做cboEmployee.SelectedValue时,它总是会给我选择的员工ID正确吗?
For x = 0 To UBound(ArrEmployee, 2) - 1
Dim textToAdd As String = String.Format("{0} {1} {2} {3}", ArrEmployee(x, 0), ArrEmployee(x, 1), ArrEmployee(x, 2), ArrEmployee(x, 3))
cboEmployee.Items.Add(textToAdd)
Next