將資料庫的某個欄位的值填入DropDownList裡(apx.Net C#)

摘要:將資料庫的某個欄位的值填入DropDownList裡(apx.Net C#)

首先,我用Access建立一個資料庫及資料表並把資料表命名為Class

以下為html

<body>
    <form id="form1" runat="server">
    <div>
        <asp:DropDownList ID="DropDownList1" runat="server">
        </asp:DropDownList>
    </div>
    </form>
</body>

加入一個DropDownList的控制項

以下為CS

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.OleDb;//使用Access時,需加入的參考
using System.Data;//使用datatable時,需加入的參考

public partial class Default2 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        OleDbConnection strconn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=C:\\Education\\education\\MessageBoard\\App_Data\\exam.mdb;" + "Persist Security Info=True;");//Access連接字串

        OleDbDataAdapter da = new OleDbDataAdapter("Select * From [Class]", strconn);//取得資料庫中Class資料表資料
        DataTable dt = new DataTable();//初始化一個datatable
        da.Fill(dt);//將da取得的資料填入datatable中
        int i = dt.Rows.Count;//計算datatable中有幾行資料
        for (int k = 0; k < i; k++)//將datatable中的每一行資料一筆一筆填入DropDownList中
        {
            DropDownList1.Items.Add(new ListItem(dt.Rows[k].ItemArray.GetValue(1).ToString(), dt.Rows[k].ItemArray.GetValue(0).ToString()));
            //getvalue(1)與getvalue(0)為資料庫中資料表的欄位。(1)表示為ClassName,(0)表示為ClassID
            //因此我們會ClassName當為ItemName,ClassID當為Value
        }

    }


}

執行結果