如何使用vb.net从下拉列表中的数据表设置特定数据

时间:2016-02-24 08:41:50

标签: vb.net

我的代码如下所示,此处没有错误,但ddlcountryddlcity显示为空白,即使数据库在特定行的国家/地区和城市中有值?

    Dim query As String = "select * from RES_HOTEL where Hotid=" + Request.QueryString("ID") + " "
    Dim cmd As New SqlCommand

    cmd.Connection = oConnection

    cmd = New SqlCommand(query, oConnection)
    Dim oDataAdapter As New SqlDataAdapter(cmd)
    Dim dt As New DataTable
    oConnection.Open()
    oDataAdapter.Fill(dt)


    If dt.Rows.Count > 0 Then
        txtHotel.Text = dt.Rows(0)("HOTNAME").ToString()
        ddlcategory.SelectedValue = dt.Rows(0)("CATEG").ToString()
        txtaddress.Text = dt.Rows(0)("ADDRESS").ToString()
        ddlcountry.SelectedValue = dt.Rows(0)("COUNTRY").ToString()
        ddlcity.SelectedValue = dt.Rows(0)("CITY").ToString()

    End If

1 个答案:

答案 0 :(得分:1)

您需要将DropdownLists绑定到DataTable(在这种情况下为Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim query As String = "select * from RES_HOTEL where Hotid=" + Request.QueryString("ID") + " " Dim cmd As New SqlCommand cmd.Connection = oConnection cmd = New SqlCommand(query, oConnection) Dim oDataAdapter As New SqlDataAdapter(cmd) Dim dt As New DataTable oConnection.Open() oDataAdapter.Fill(dt) '-- bind your comboboxes to the DataTable. BindDropdown(ddlcategory, dt, "CATEG", "CATEG") BindDropdown(ddlcountry, dt, "COUNTRY", "COUNTRY") BindDropdown(ddlcity, dt, "CITY", "CITY") If dt.Rows.Count > 0 Then txtHotel.Text = dt.Rows(0)("HOTNAME").ToString() ddlcategory.SelectedValue = dt.Rows(0)("CATEG").ToString() txtaddress.Text = dt.Rows(0)("ADDRESS").ToString() ddlcountry.SelectedValue = dt.Rows(0)("COUNTRY").ToString() ddlcity.SelectedValue = dt.Rows(0)("CITY").ToString() End If End Sub Private Sub BindDropdown(ByVal ddl As DropDownList, ByVal ds As Object, ByVal dataTextField As String, ByVal dataValueField As String) With ddl .Items.Clear() .DataSource = ds .DataTextField = dataTextField .DataValueField = dataValueField .DataBind() End With End Sub )。

ASP.NET

编辑:假设您使用的是},请更新上述代码。我还将公共代码分成单独的函数以避免重复代码。