请教如何用DropDownList邦定数据库。
动态把数据库中的字段值显示出来???

解决方案 »

  1.   

    //datatable
    private void ListMaritalStatus()
    {
    drpMaritalStatus.Items.Clear();drpMaritalStatus.DataSource=ListMaritalStatusBLL();
    drpMaritalStatus.DataValueField="value";//数据库id
    drpMaritalStatus.DataTextField="text";//要显示的字段名字
    drpMaritalStatus.DataBind();
    }
    public static DataTable ListMaritalStatusBLL()
    {
    DataTable dt=ListMaritalStatusDAL().Table[0];
    return dt;
    }
    public static DataSet ListMaritalStatusDAL()
    {
    string sql="select * from CaseType order by ItemValue";
    DataSet ds=DataHelper.ExecuteDataset(sql);
    return ds;
    }
    private void Page_Load(object sender, System.EventArgs e)
    {
    if(!Page.IsPostBack)
    {
    ListMaritalStatus();
    }
    }
      

  2.   

    //ilist,枚举
    private void Page_Load(object sender, System.EventArgs e)
    {
    if(!Page.IsPostBack)
    {
    ListRelationship();
    }
    }
    private void ListRelationship()
    {
    drpRelationship.Items.Clear();
    drpRelationship.DataSource=ListRelationshipBLL();
    drpRelationship.DataValueField="value";
    drpRelationship.DataTextField="text";
    drpRelationship.DataBind();
    }
    public static IList ListRelationshipBLL()
    {
    ArrayList list=new ArrayList();
    foreach(int i in Enum.GetValues(typeof(EnumRelationship)))
    {
    ListItem listitem = new ListItem(Enum.GetName(typeof(EnumRelationship),i),i.ToString());
    list.Add(listitem);
    }
    return list;
    }
    public enum EnumRelationship
    {
    Children=305,
    Father=301,
    Mother=302,
    Sibling=306,
    Spouse=303,
    SpouseFormer=304
    }
      

  3.   

    用datareader也可以
    不过记得这个是独占的
      

  4.   


                Dim p_db As New db_read
                p_db.strcom = "select U_partname from TB_part"
                p_db.db()            Me.Dropdownlist3.DataSource = p_db.ds.Tables("tp").DefaultView
                Me.Dropdownlist3.DataTextField = Trim("U_partname")
                Me.Dropdownlist3.DataBind()
    ***********************************************************************************
    Imports System.Configuration
    Imports System.Data
    Imports System.Data.SqlClient
    Public Class db_read
        Public ds As New DataSet
        Public strcom As String    Public Sub db()
            Dim sconstr As String = ConfigurationSettings.AppSettings("conStr")
            Dim conn As New SqlConnection(sconstr)
            Dim adapter As New SqlDataAdapter
            adapter.SelectCommand = New SqlCommand(strcom, conn)
            adapter.Fill(ds, "Tp")
        End Sub
    End Class
      

  5.   

    记住datasource还有datavaluefield还有datatextfield要赋值,然后就用databind()datavaluefield是针对以后数据库操作,比方说你选择dropdownlist里面的数据然后回写
    datatextfield是针对显示给用户的
    比如一个用户标 有用户id,和用户名name两个字段
    那么id字段名自然赋给datavaluefield,而那么name字段名自然给datatextfield