如何使用asp.net + vb.net从数据库列中获取数据并显示在下拉列表中

时间:2018-07-16 01:48:01

标签: asp.net sql-server vb.net

我尝试从SQL Server数据库的UPDATE_DATE列中获取年份。我想在下拉列表中显示它。但是,我得到了这个错误:

  

数据绑定:“ System.Data.DataRowView”不包含名称为“ UPDATE_DATE”的属性

这是我的源代码:如果我从中删除YEAR,它将不会显示错误。实际如何使用YEAR做到这一点

strsql = "SELECT DISTINCT year(UPDATE_DATE) FROM [FixedAssetMaster_old]  "

da = New SqlDataAdapter(strsql, Conn)
Dim ds2 As New DataSet()
da.Fill(ds2)
da.Dispose()

ddlFinYear.DataSource = ds2
ddlFinYear.DataTextField = "UPDATE_DATE"
ddlFinYear.DataValueField = "UPDATE_DATE"
ddlFinYear.DataBind()

ddlDept.Items.Insert(0, "")
ds2.Dispose()

有人可以给我一些建议吗?预先感谢

2 个答案:

答案 0 :(得分:2)

DataSet中可以包含许多表。这段代码仅创建一个,但是DropdownList上的DataSource属性无法得知。使用ds2.Tables(0)作为数据源,这样它将知道要查看哪个表。

答案 1 :(得分:0)

strsql = "SELECT DISTINCT year(UPDATE_DATE) as ABC FROM [FixedAssetMaster_old]  "

da = New SqlDataAdapter(strsql, Conn)
Dim ds2 As New DataSet()
da.Fill(ds2)
da.Dispose()

ddlFinYear.DataSource = ds2
ddlFinYear.DataTextField = "ABC"
ddlFinYear.DataValueField = "ABC"
ddlFinYear.DataBind()

ddlDept.Items.Insert(0, "")
ds2.Dispose()