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

标签 mysql asp.net vb.net

我通过存储过程从 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/

相关文章:

asp.net - 如何使用 javascript 启用 linkbutton 服务器控件?

asp.net - Eval ("this"的正确等价物是什么)

mysql - 如何根据到达时间从高到低查找时差

c# - 插入语句中的错误 C#/MySQL 多个选择语句

mysql - 高效的 MySQL/Eloquent 查询通过超过 1 个标签过滤帖子

asp.net - sql sessionState 超时与表单例份验证超时

sql - 在有条件的多对多表中执行左连接

vb.net - 在 windows 中生成声音频率 - VB.Net

android - 使用 VB.Net 开发 Android 应用程序?

mysql - 如何将 vb.net 连接到 ONLINE MySQL 数据库?