用DataReader在comboBox中显示name,取值id: 定义ItemObject类 classItemObject { public int id; public string name; publicItemObject(int id,string name) { this.id=id; this.name =name; } public override string ToString() { return name; } } 1、实例化对象,加载数据
ItemObject[] io = new ItemObject[3];
取值: ((ItemObject )this.comboBox1 .SelectedItem).id 2、加载数据 private void Form1_Load(object sender, EventArgs e) { SqlConnection conn=new SqlConnection (); conn.ConnectionString ="Data Source=.\\SQLEXPRESS;Initial Catalog=MyQQ;User Id=sa;Pwd=123"; string sql="select userid,userName from users"; conn.Open (); SqlCommand comm=new SqlCommand (sql,conn); SqlDataReader dr=comm.ExecuteReader(); if(dr.HasRows ) { ItemObject item; while(dr.Read ()){ item=newItemObject (Convert.ToInt32 (dr["userId"]),dr["userName".ToString ()]); this.comboBox1.Items.Add(kv); } }
} 取值: ((ItemObject )this.comboBox1 .SelectedItem).id 3 、DataAdapter在comboBox中显示name,取值id private void Form1_Load(object sender, EventArgs e) { SqlConnection conn=new SqlConnection (); conn.ConnectionString ="Data Source=.\\SQLEXPRESS;Initial Catalog=MyQQ;User Id=sa;Pwd=123"; string sql="select * from users"; SqlDataAdapter da = new SqlDataAdapter(sql, conn); DataSet ds = new DataSet(); da.Fill(ds, "users"); this.comboBox1 .DataSource =ds.Tables ["users"]; //为comboBox指定数据源 this.comboBox1.DisplayMember = "nickname"; //为comboBox指定显示的字段名 this.comboBox1.ValueMember = "id"; //为comboBox指定取值的字段名 } 取值: this.comboBox1 .SelectedValue .ToString ()
s |