You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VB ASP.NET从数据库向DropDownList添加无重复数据时出现重复问题

问题解决:DropDownList重复显示相同数据

你的代码问题出在循环逻辑里——每次循环都固定取dv.Item(0)(也就是DataView的第一行数据),所以循环执行多少次,就会重复添加多少次第一行的内容,最终DropDownList里全是相同数据。

修复方案1:修正循环索引

把循环里的索引从固定的0改成循环变量i,这样就能依次遍历DataView里的每一行数据:

Dim ads As New Web.UI.WebControls.AccessDataSource
ads.DataFile = "~/app_data/board.mdb"
ads.SelectCommand = "SELECT DISTINCT [photo_species] FROM [phototable]"
Dim dv As DataView = ads.Select(New DataSourceSelectArguments)
For i = 0 To dv.Count - 1
    DropDownList1.Items.Add(dv.Item(i).Row("photo_species")) ' 将0替换为循环变量i
Next

修复方案2:直接绑定数据源(更简洁)

ASP.NET的DropDownList支持直接绑定数据源,不需要手动循环添加,代码更简洁且不易出错:

Dim ads As New Web.UI.WebControls.AccessDataSource
ads.DataFile = "~/app_data/board.mdb"
ads.SelectCommand = "SELECT DISTINCT [photo_species] FROM [phototable]"
DropDownList1.DataSource = ads
DropDownList1.DataTextField = "photo_species" ' 指定显示的字段名
DropDownList1.DataBind() ' 执行数据绑定

内容的提问来源于stack exchange,提问作者UserDuck

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 07:40:22