如何在两个窗体之间共享DataSet
在一个主窗体中有用户信息,该用户可以有多个联络人,要为该用户增加联络人,打开第二个窗体,在第二个窗体中队联络人进行增加,但是信息不保存在物理数据库中,而是将信息返回到底一个窗体中一块儿保存,该如何做? 问题点数:20、回复次数:5Top
1 楼HenryXiaoY(北乔峰)回复于 2006-07-04 16:56:20 得分 0
markTop
2 楼killerwc(刀耐特混混)回复于 2006-07-04 16:57:07 得分 20
如果是WinForm
可以在第二个窗体中定义一个公共属性
public DataSet objDataSet;
第一个窗体定义一个全局的DataSet
DataSet objDataSet;
然后在第一个窗体打开第二个窗体的代码中加上一句:
objDataSet=new DataSet();
Form2 objForm=new Form2();
objForm.objDataSet=objDataSet;
objForm.Show();
然后在第二个窗体操作DataSet
把数据存进去
然后在窗体关闭后在第一个窗体读取DataSet即可Top
3 楼killerwc(刀耐特混混)回复于 2006-07-04 17:00:19 得分 0
如果是WebForm,可以把DataSet存入Session或者ViewState中
实现对象传递Top
4 楼killerwc(刀耐特混混)回复于 2006-07-04 17:04:13 得分 0
其实对于数据表,应该做一个表的映射
把表结构映射成自定义的实体类
现在有很多代码生成器就是干这个的
实体类的属性就是表的字段,当然可以进行扩展
然后再窗体之间,或者在层次之间传递的是实体类的实例
这样效果好一些,而且会提高速度
如果传递多条记录,可以传递类数组
Top
5 楼bbyin(神六)回复于 2006-07-04 17:18:46 得分 0
學習Top




