这是我的代码 -
SqlCmd = New SqlCommand("sp_load_names", SqlCnn)
SqlCmd.CommandType = CommandType.StoredProcedure
SqlDR = SqlCmd.ExecuteReader()
While SqlDR.Read
ads_list.Items.Add(New ListItem(SqlDR(1) & ""))
End While
SqlDR.Close()
这将填充下拉列表数据,但在值中我需要它从存储的proc中获取“ID”字段。 存储过程发送两个参数,ID和Name。所以我填充名称,但我如何在这个值中填充id - 标记 山姆 丹尼斯
我希望我不要混淆任何人
答案 0 :(得分:0)
ListItem构造函数重载之一设置text和value属性:
New ListItem("Text", "Value")
您应该能够使用SqlDR(1)
和SqlDR(2)
访问SQL数据阅读器中的两列。
答案 1 :(得分:0)
ListItems是对象,因此您可以创建自己的简单ListItem类以包含ID和显示值
Class MyListItem
Public ID As Integer
Public Text As String
Public Sub New(iID As Integer, sText As String)
Me.ID = iID
Me.Text = sText
End Sub
Public Overrides Function ToString() As String
Return Me.Text
End Sub
End Class
...
Dim oItem As MyListItem
While SqlDR.Read
oItem = new MyListItem(SqlDR(0),SqlDR(1))
ads_list.Items.Add(oItem)
End While
...
oItem = CType(ads_list.SelectedItem,MyListItem)
答案 2 :(得分:0)
SqlCmd = New SqlCommand("sp_load_names", SqlCnn)
SqlCmd.CommandType = CommandType.StoredProcedure
SqlDR = SqlCmd.ExecuteReader()
While SqlDR.Read
ads_list.Items.Add(SqlDR(1).ToString)
End While
SqlDR.Close()