c#中dataset 数据查询问题
我把数据库中的记录全部读到dataset中然后再从dataset中选择符合条件的记录显示出来.举例(从数据库中读出所有的省份,城市放在dataset中然后从下拉列表中选择...
我把数据库中的记录全部读到dataset 中
然后再从dataset中选择符合条件的记录显示出来.
举例( 从数据库中读出所有的省份,城市放在dataset 中 然后从下拉列表中选择山东省dataGridView中显示出所有属于山东省的城市. ) 展开
然后再从dataset中选择符合条件的记录显示出来.
举例( 从数据库中读出所有的省份,城市放在dataset 中 然后从下拉列表中选择山东省dataGridView中显示出所有属于山东省的城市. ) 展开
6个回答
展开全部
如果你的dataset中满足以下条件
1、省份和城市分别用两张表存放
2、省份表与城市表有主外键关系
我到是有个方法,如果不满足以上条件那我就不会了。
解决方案如下(在下不是什么高手型帆埋,只卜蚂能想到这么多了,满不满意你看看吧)
如果用省份来筛选城市的话,可以先给dataset中的两张表添加一个关系(Relation):
dataset.Relations.Add(new DataRelation("关系名",省份表中的主键列,城市表中的外键列))
添加了关系后就可以给下拉框添加SelectedIndexChanged事件处理程序了:
int index = 下拉框SelectedIndex;//下拉框选中省份的索引,如果你不能保证这个索引与表中该省份所在的行的索引相同的话,就请你自己再加点判断
DataRow[] rows = 省份表.Rows[index].GetChildRows("关系名");//根据下拉框的索引找出dataset中省份那一行,再根据那一行的主键获得城市表中的关联城市
DataTable dt = 城市表.Clone();//建一张新表,将城市表的结构克隆一份给新表
foreach (DataRow row in rows)//循环筛选出的城市
{
dt.ImportRow(row);//将数据复制给刚刚的新轿侍表
}
dataGridView.DataSource = dt;\\绑定新表
System.GC.Collect();\\强制进行垃圾回收,因为每次改变下拉框的选定项都会创建新表,所以要回收上一次创建的表。
如果你对上面的方法或属性有不了解的,请参阅《MSDN Library for Visual Studio 2008 简体中文》
1、省份和城市分别用两张表存放
2、省份表与城市表有主外键关系
我到是有个方法,如果不满足以上条件那我就不会了。
解决方案如下(在下不是什么高手型帆埋,只卜蚂能想到这么多了,满不满意你看看吧)
如果用省份来筛选城市的话,可以先给dataset中的两张表添加一个关系(Relation):
dataset.Relations.Add(new DataRelation("关系名",省份表中的主键列,城市表中的外键列))
添加了关系后就可以给下拉框添加SelectedIndexChanged事件处理程序了:
int index = 下拉框SelectedIndex;//下拉框选中省份的索引,如果你不能保证这个索引与表中该省份所在的行的索引相同的话,就请你自己再加点判断
DataRow[] rows = 省份表.Rows[index].GetChildRows("关系名");//根据下拉框的索引找出dataset中省份那一行,再根据那一行的主键获得城市表中的关联城市
DataTable dt = 城市表.Clone();//建一张新表,将城市表的结构克隆一份给新表
foreach (DataRow row in rows)//循环筛选出的城市
{
dt.ImportRow(row);//将数据复制给刚刚的新轿侍表
}
dataGridView.DataSource = dt;\\绑定新表
System.GC.Collect();\\强制进行垃圾回收,因为每次改变下拉框的选定项都会创建新表,所以要回收上一次创建的表。
如果你对上面的方法或属性有不了解的,请参阅《MSDN Library for Visual Studio 2008 简体中文》
参考资料: MSDN Library for Visual Studio 2008 简体中文
展开全部
1、用下拉框的SelectedIndexChanged事件
2、当你选择山东的时候把山东做为敏岁局关键字在数据库中查询一下
3、重新雀缺用dataGridView绑桥让定一下就可以了
2、当你选择山东的时候把山东做为敏岁局关键字在数据库中查询一下
3、重新雀缺用dataGridView绑桥让定一下就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你磨培所说的是控件联动。瞎源唯
我简单的跟你说下吧:
一张省份表和一张城市表(省份列(引用省份表外键)和城市列)
1.首先在下拉别表中加载dataset中的省份
2.然后根裂困据所选择的省份,查询其所有的城市,加载到dataset中。
应该很明白吧?
我简单的跟你说下吧:
一张省份表和一张城市表(省份列(引用省份表外键)和城市列)
1.首先在下拉别表中加载dataset中的省份
2.然后根裂困据所选择的省份,查询其所有的城市,加载到dataset中。
应该很明白吧?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
表结构要一张城市表,一张省份表,用ID连起来。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
确实有点问题不清.
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询