您的位置:首页 > 运维架构

DataSet绑定Hashtable为DropDownList提供数据源

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

  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;
        } 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐