gpt4 book ai didi

mysql - VB.NET 下拉列表未填充所有项目

转载 作者:行者123 更新时间:2023-11-29 11:46:00 26 4
gpt4 key购买 nike

我通过存储过程从 MySQL 表中读取数据来填充 asp 下拉列表。

数据读取器返回表中的所有 4 行,但下拉列表中仅列出第 2、3、4 行。

这是设置下拉列表的代码。有人对可能出了什么问题有任何想法吗?

谢谢

 Try
Dim conn As New MySql.Data.MySqlClient.MySqlConnection(myConnectionString)
Dim cmd As New MySqlCommand()

conn.Open()
cmd.Connection = conn
cmd.CommandText = "Select_CatLibraryData"
cmd.CommandType = CommandType.StoredProcedure

Using catdata_rs As MySqlDataReader = cmd.ExecuteReader()

If catdata_rs.Read() Then
list_itemcategory.DataSource = catdata_rs
list_itemcategory.DataValueField = "category"
list_itemcategory.DataTextField = "category"
list_itemcategory.DataBind()
End If

End Using

Catch ex As MySql.Data.MySqlClient.MySqlException

lbl_ErrorPanelText.Text = "Error establishing a database connection!"
pn_ErrorPanel.Visible = True

End Try

最佳答案

您不应使用 If catdata_rs.Read(),因为它会使指针前进 1。

请使用如下代码。或者,您可以删除数据绑定(bind)代码周围的 if 并直接绑定(bind)到数据读取器,如果它为空,那么您的列表下拉列表也将为空。

If catdata_rs.HasRows Then
list_itemcategory.DataSource = catdata_rs
list_itemcategory.DataValueField = "category"
list_itemcategory.DataTextField = "category"
list_itemcategory.DataBind()
End If

关于mysql - VB.NET 下拉列表未填充所有项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34934427/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com