c#的ComboBox从数据库取数的问题
privatevoidcbxProducts_SelectedIndexChanged(objectsender,EventArgse){conn.Open();cbxP...
private void cbxProducts_SelectedIndexChanged(object sender, EventArgs e)
{
conn.Open();
cbxProducts.Items.Clear();
OleDbDataAdapter adp1 = new OleDbDataAdapter("select 产品 from 产品目录", conn);
DataSet ds1 = new DataSet();
adp1.Fill(ds1, "Products");
for (int i = 0; i < ds1.Tables["Products"].Rows.Count; i++)
{
cbxProducts.Items.Add(ds1.Tables["Product"].Rows[i][0].ToString());
}
请问以上代码为什么取不到数?谢谢帮忙!
请问bomanna ,您的this.cbxProducts.ValueMember ="";//这句话是什么意思???虽然被注释掉了但是我还想知道,谢谢 展开
{
conn.Open();
cbxProducts.Items.Clear();
OleDbDataAdapter adp1 = new OleDbDataAdapter("select 产品 from 产品目录", conn);
DataSet ds1 = new DataSet();
adp1.Fill(ds1, "Products");
for (int i = 0; i < ds1.Tables["Products"].Rows.Count; i++)
{
cbxProducts.Items.Add(ds1.Tables["Product"].Rows[i][0].ToString());
}
请问以上代码为什么取不到数?谢谢帮忙!
请问bomanna ,您的this.cbxProducts.ValueMember ="";//这句话是什么意思???虽然被注释掉了但是我还想知道,谢谢 展开
5个回答
展开全部
private void cbxProducts_SelectedIndexChanged(object sender, EventArgs e)
{
conn.Open();
cbxProducts.Items.Clear();
OleDbDataAdapter adp1 = new OleDbDataAdapter("select 产品 from 产品目录", conn);
DataSet ds1 = new DataSet();
adp1.Fill(ds1, "Products");
this.cbxProducts .DisplayMember ="产品";//(这是显示的)
//this.cbxProducts.ValueMember ="";//这是不显示的项就是可以看成数据表中的主键一样进行判断好用的(这是实际的)
this.cbxProducts.DataSource = ds1.Table[0];
conn.close();
//以后要注意数据库打开了就不要忘记关.
{
conn.Open();
cbxProducts.Items.Clear();
OleDbDataAdapter adp1 = new OleDbDataAdapter("select 产品 from 产品目录", conn);
DataSet ds1 = new DataSet();
adp1.Fill(ds1, "Products");
this.cbxProducts .DisplayMember ="产品";//(这是显示的)
//this.cbxProducts.ValueMember ="";//这是不显示的项就是可以看成数据表中的主键一样进行判断好用的(这是实际的)
this.cbxProducts.DataSource = ds1.Table[0];
conn.close();
//以后要注意数据库打开了就不要忘记关.
参考资料: 这是不显示的项就是可以看成数据表中的主键一样进行判断好用的
展开全部
private void cbxProducts_SelectedIndexChanged(object sender, EventArgs e)
{
conn.Open();
cbxProducts.Items.Clear();
OleDbDataAdapter adp1 = new OleDbDataAdapter("select 产品 from 产品目录", conn);
DataSet ds1 = new DataSet();
adp1.Fill(ds1, "Products");
this.cbxProducts.DataSource = ds1.Tables[0];
this.cbxProducts.DisplayMember = "产品名称";
this.cbxProducts.ValueMember = "产品ID";
conn.Close();
{
conn.Open();
cbxProducts.Items.Clear();
OleDbDataAdapter adp1 = new OleDbDataAdapter("select 产品 from 产品目录", conn);
DataSet ds1 = new DataSet();
adp1.Fill(ds1, "Products");
this.cbxProducts.DataSource = ds1.Tables[0];
this.cbxProducts.DisplayMember = "产品名称";
this.cbxProducts.ValueMember = "产品ID";
conn.Close();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
private void cbxProducts_SelectedIndexChanged(object sender, EventArgs e)
{
conn.Open();
cbxProducts.Items.Clear();
OleDbDataAdapter adp1 = new OleDbDataAdapter("select 产品 from 产品目录", conn);
DataSet ds1 = new DataSet();
adp1.Fill(ds1, "Products");
for (int i = 0; i < ds1.Tables["Products"].Rows.Count; i++)
{
cbxProducts.Items.Add(ds1.Tables["Product"].Rows[i][0].ToString());
}
你事件写错了,笨蛋!
{
conn.Open();
cbxProducts.Items.Clear();
OleDbDataAdapter adp1 = new OleDbDataAdapter("select 产品 from 产品目录", conn);
DataSet ds1 = new DataSet();
adp1.Fill(ds1, "Products");
for (int i = 0; i < ds1.Tables["Products"].Rows.Count; i++)
{
cbxProducts.Items.Add(ds1.Tables["Product"].Rows[i][0].ToString());
}
你事件写错了,笨蛋!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
放到SelectedIndexChanged事件里不是每次都要读一遍数据库?压力不小哦
你的Tables["Products"].Rows.Count是多少呢,断一下看看
你的Tables["Products"].Rows.Count是多少呢,断一下看看
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
SelectedIndexChanged?
你想要实现什么效果阿?
你想要实现什么效果阿?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询