我有几个列表框,甚至是一个从查询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()
答案 0 :(得分:0)
当您致电dr2.Read()
时,您正在阅读第一行。当您拨打DataBind()
时,它已不再可用。