VB下拉列表框的选择项改变事件
以下是我的某个窗体的加载和下拉框列表选择项改变事件
不写下拉框列表选择项改变事件时一切正常,省份正确读取并绑定到下拉框列表中,但
写了下拉框列表选择项改变事件后,就报错了,错误:从类型“DataRowView”到类型“Integer”的转换无效。对应红色字体
Private Sub ProviceCityForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim conStr As String
conStr = "Data Source=.;Initial Catalog=MyTestDB;Integrated Security=True"
Dim con As New SqlConnection(conStr)
'查询所有省份
Dim sql As String
sql = "SELECT * FROM [MyTestDB].[dbo].[provinceCity] WHERE ParentId = 0"
Dim adapter As New SqlDataAdapter(sql, con)
Dim ds As New DataSet()
adapter.Fill(ds)
'绑定所有省份下拉列表框
Me.cboProvice.DataSource = ds.Tables(0)
Me.cboProvice.DisplayMember = "Name"
Me.cboProvice.ValueMember = "ID"
End Sub
Private Sub cboProvice_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cboProvice.SelectedIndexChanged
Dim conStr As String
conStr = "Data Source=.;Initial Catalog=MyTestDB;Integrated Security=True"
Dim con As New SqlConnection(conStr)
'查询所有省份
Dim pId As Integer
pId = Me.cboProvice.SelectedValue
Dim sql As String
sql = "SELECT * FROM [MyTestDB].[dbo].[provinceCity] WHERE ParentId = " & pId
Dim adapter As New SqlDataAdapter(sql, con)
Dim ds As New DataSet()
adapter.Fill(ds)
'绑定所有省份下拉列表框
Me.cboCity.DataSource = ds.Tables(0)
Me.cboCity.DisplayMember = "Name"
Me.cboCity.ValueMember = "ID"
End Sub