asp.net listbox第一项来自mysql DataReader不可见

时间:2014-03-21 16:29:33

标签: mysql asp.net listbox

我有几个列表框,甚至是一个从查询MySql DB的SELECT语句填充的复选框列表。每个列表都正确填充并使用正确的数据,但是,每个列表框中的第一个项目都不会显示。例如,我有一个包含7个项目(0-6)的框,每个框都有,但只有1-6显示在网页上供用户选择。我的代码如下,但我不能为我的生活弄明白为什么会这样做。

Dim cmd2 As New MySqlCommand("SELECT id, name FROM assets WHERE id NOT IN(SELECT assetid FROM assetsout WHERE qty = @qty AND " & _
                                     "(@undate BETWEEN undate AND avdate)) AND checkout = @chk ORDER BY name", cn)
        cmd2.Parameters.Add("@chk", MySqlDbType.VarChar).Value = "true"
        cmd2.Parameters.Add("@qty", MySqlDbType.VarChar).Value = "0"

        Dim undate As Date = txtNeeded.Text

        cmd2.Parameters.Add("@undate", MySqlDbType.Date).Value = undate

        Dim dr2 As MySqlDataReader = cmd2.ExecuteReader()
        dr2.Read()
        ListBox1.DataSource = dr2
        ListBox1.DataTextField = "name"
        ListBox1.DataValueField = "id"
        ListBox1.DataBind()
        cmd.Dispose()
        dr2.Dispose()
        cmd2.Dispose()

1 个答案:

答案 0 :(得分:0)

当您致电dr2.Read()时,您正在阅读第一行。当您拨打DataBind()时,它已不再可用。