【问题标题】:How to get data from SQL Server database and display it in dropdownlist + asp.net vb如何从 SQL Server 数据库中获取数据并在 dropdownlist + asp.net vb 中显示
【发布时间】:2018-11-06 14:43:25
【问题描述】:

我有一个下拉列表,其中包含“是”和“否”。默认情况下,该值为“是”。我想从 SQL Server 数据库中提取值,但同时也可以对其进行编辑,要么保持是,要么更改为否。

目前我的源代码只显示一个值。

示例:第一次选择是,会进入数据库,再次搜索时,值显示是。但我不能选择否。我需要将值更改为否。

这是我的源代码:

 strsql = "Select IN_USE FROM FixedAssetMaster_old WHERE ASSET_NUMBER=" & AssetTxt.Text & " AND LOC_DEPT=" & DeptTxt.Text & " AND UNIT_NO=" & UnitNoTxt.Text & " And (DATEPART(MM, UPDATE_DATE) = " & nowMonth & ") And (DATEPART(yyyy, UPDATE_DATE) =" & nowYear & ") ;"
    da = New SqlDataAdapter(strsql, Conn)
    Dim ds As New DataSet()
    da.Fill(ds)
    da.Dispose()
    DDLInUse.DataSource = ds
    DDLInUse.DataTextField = "IN_USE"
    DDLInUse.DataValueField = "IN_USE"
    DDLInUse.DataBind()
    'DDLInUse.Items.Insert(0, "")
    ds.Dispose()

【问题讨论】:

  • 您的绑定错误。 DataSource 需要包含所有可能的值。 SelectedValue 应该代表从该列表中选择的值。见this thread
  • 为您的 DropDownList 设置 AppendDataBoundItems=true
  • @GaganDeep 我尝试了那个,但它会在数据库中出现,并且在下拉列表中也有值。这意味着出现类似 Yes No No
  • @jmcilhinney 你所说的 DataSource 是什么意思需要包含所有可能的值?
  • 怕是不来这里解释常用词的意思。

标签: asp.net vb.net


【解决方案1】:
Try this
   protected void Page_Load(object sender, EventArgs e)  
        {  
            SqlConnection con = new SqlConnection(str);  
            string com = "Select * from UserDetail";  
            SqlDataAdapter adpt = new SqlDataAdapter(com, con);  
            DataTable dt = new DataTable();  
            adpt.Fill(dt);  
            DropDownList1.DataSource = dt;  
            DropDownList1.DataBind();  
            DropDownList1.DataTextField = "Name";  
            DropDownList1.DataValueField = "ID";  
            DropDownList1.DataBind();  
        }  

【讨论】:

  • 看起来像C#,OP中的标签和代码是vb.net。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-26
  • 2017-08-03
  • 1970-01-01
  • 2020-04-21
  • 2020-04-02
  • 2016-05-21
相关资源
最近更新 更多