DataSet绑定Hashtable为DropDownList提供数据源

把某些固定的数据源绑定写到类的方法里,能够使代码更好的适应变化。下面的方法并没有放到类里只是简单的做了示范:   

  protected void Page_Load(object sender, EventArgs e)
    {
        string connectionString = ConfigurationManager.ConnectionStrings["tahx2006ConnectionString"].ConnectionString;
        string tableName = "SYS_DIC_BalancePeriod";
        string key = "SDBP_MID";
        string value = "SDBP_MCOSTNO";

        Hashtable ht = GetHashtable(connectionString,tableName, key, value);
        DropDownList1.DataSource = ht;
        DropDownList1.DataTextField = "value";
        DropDownList1.DataValueField = "key";
        DropDownList1.DataBind();
    }

        /// <summary>
        /// 提供Hashtable用来绑定DropDownList
        /// </summary>
        /// <param name="connectionString">链接数据库的字符串</param>
        /// <param name="tableName">要链接的表名</param>
        /// <param name="key">用来做HashTable键的列名</param>
        /// <param name="value">用来做HashTable值的列名</param>
        public Hashtable  GetHashtable(string connectionString,string tableName, string key,string value )
        {
            string sqlString = "select " + key + "," + value + " from " + tableName;
            SqlConnection con = new SqlConnection(connectionString);
            con.Open();
          //1
            SqlDataAdapter da = new SqlDataAdapter(sqlString, con);
            DataSet ds = new DataSet();
            da.Fill(ds, tableName);
            Hashtable ht = new Hashtable();
            //给Hashtable 赋值
            foreach ( DataRow row in ds.Tables[0].Rows )
            {
                ht.Add(row[key], row[value]);
            }

            //2 用 datareader
            //SqlCommand command = new SqlCommand(sqlString,con);
            //SqlDataReader dr = command.EndExecuteReader();
            //Hashtable ht = new Hashtable();
            //while (dr.Read())
            //{
            //    string strKey = dr.GetSqlValue(0).ToString();
            //    string strValue = dr.GetSqlValue(1).ToString();
            //    ht.Add(strKey, strValue);
            //}

            con.Close();
            return ht;
        } 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要为dropdownlist绑定数据库的数据,可以按照以下步骤操作: 1. 在页面添加一个dropdownlist控件。 2. 在页面的代码-behind编写代码来连接数据库并查询需要绑定的数据。比如使用ADO.NET的SqlConnection和SqlCommand类来连接数据库并执行查询操作。 3. 将查询结果绑定dropdownlist控件上。可以使用dropdownlist控件的DataSource属性来指定数据源,使用DataTextField和DataValueField属性来指定要显示的文本和值的字段名,最后调用DataBind方法来完成绑定。 以下是一个简单的示例代码: ```c# protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { string connectionString = "Data Source=your_server;Initial Catalog=your_database;User ID=your_username;Password=your_password"; string query = "SELECT id, name FROM your_table"; SqlConnection connection = new SqlConnection(connectionString); SqlCommand command = new SqlCommand(query, connection); SqlDataAdapter adapter = new SqlDataAdapter(command); DataSet dataSet = new DataSet(); adapter.Fill(dataSet, "your_table"); dropdownlist.DataSource = dataSet.Tables["your_table"]; dropdownlist.DataTextField = "name"; dropdownlist.DataValueField = "id"; dropdownlist.DataBind(); } } ``` 在这个示例,我们从名为your_table的表查询了id和name两个字段的数据,并将其绑定到了名为dropdownlistdropdownlist控件上。其数据库连接字符串、查询语句、数据源字段名和值字段名需要根据实际情况进行修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值