ADO.Net中DataSet的应用
一、知识点描述
1、DataSet是ADO.NET的中心概念。可以把DataSet当成内存中的数据库,DataSet是不依赖于数据库的独立数据集合。也就是说,即使断开数据链路,或者关闭数据库,DataSet依然是可用的。
2、创建和刷新 DataSet 并依次更新原始数据的步骤:
- 通过 DataAdapter 使用数据源中的数据生成和填充 DataSet 中的每个 DataTable。
- 通过添加、更新或删除 DataRow 对象更改单个 DataTable 对象中的数据。
- 调用 DataAdapter 的 Update 方法,并将第二个 DataSet 作为参数传递。
3、DataSet所有数据都加载在内存上执行的,可以提高数据访问速度,提高硬盘数据的安全性,极大的改善了程序运行的速度和稳定性。
4、每一个DataSet对象是由若干个 DataTable对象组成。
5、DataSet使用方法:
- 把数据库中的数据通过DataAdapter对象填充DataSet。
- 通过DataAdapter对象操作DataSet实现更新数据库。
6、DataSet对象的三大特性
- 独立性。DataSet独立于各种数据源。
- 离线(断开)和连接。
- DataSet对象是一个可以用XML形式表示的数据视图,是一种数据关系视图。
二、思维导图
三、效果截图
四、示例代码
1 DataSet PubsSet = new DataSet(); 2 SqlConnection ConnPubs; 3 DataSet ds = new DataSet(); 4 ?5 ????????private void frm_PatientInformationManage_Load(object sender, EventArgs e) 6 ????????{ 7 ?8 ????????????ConnPubs = new SqlConnection(); //声明并实例化SQL连接; 9 ????????????ConnPubs.ConnectionString =10 ????????????????ConfigurationManager.ConnectionStrings["Sql"].ConnectionString; ????????????//在字符串变量中,描述连接字符串所需的服务器地址、数据库名称、集成安全性(即是否使用Windows验证);11 ????????????SqlCommand sqlCommand = new SqlCommand(); ??????????????????????????????????????//声明并实例化SQL命令;12 ????????????sqlCommand.Connection = ConnPubs;13 ????????????sqlCommand.CommandText = "select P_id as 医疗卡号,P_name as 姓名 ,P_sex as 性别,P_birthday as 生日,P_nation as 民族,Feetype as 付费类型,P_tel as 电话,P_pym as 拼音码,P_address as 地址,P_career as 职业,P_bloodtype ?as 血型,P_allergic as 过敏药物,P_idcard as 身份证号,P_Photo from tb_patient";14 15 ????????????ConnPubs.Open();16 ????????????SqlDataAdapter da = new SqlDataAdapter();17 ????????????da.SelectCommand = sqlCommand;18 ????????????da.Fill(PubsSet, "tb_patient");19 ????????????dataGridView1.DataSource = PubsSet.Tables["tb_patient"];20 ???????????21 ????????????this.dataGridView1.Columns["P_Photo"].Visible = false; ??//隐藏照片列22 23 ????????????SqlDataAdapter sqlDataAdapter = new SqlDataAdapter(); ??????????????????????????????????????????//声明并实例化SQL数据适配器,同时借助构造函数,将其SelectCommand属性设为先前创建的SQL命令;24 ????????????sqlDataAdapter.SelectCommand = sqlCommand; ?????????????????????????????????????????????????????//将SQL数据适配器的查询命令属性指向SQL命令;25 ????????????DataTable tb_patient = new DataTable(); ????????????????????????????????????????????????????????//声明并实例化数据表,用于保存所有班级,以用作下拉框数据源;26 ??????????????????????????????????????????????????????????????????????????????????27 ????????????sqlDataAdapter.Fill(tb_patient); ???????????????????????????????????????????????????????????????//SQL数据适配器读取数据,并填充班级数据表;28 ????????????this.cmb_SearchPYM .DataSource = tb_patient; ????????????????????????????????????????????????????????//将班级下拉框的数据源设为班级数据表;29 ???????????// this.cmb_SearchPYM.DisplayMember = "P_pym"; ?????????????????????????????????????????????????????????//将班级下拉框的显示成员设为班级数据表的名称列;30 ????????????this.cmb_SearchId .DataSource = tb_patient; 31 ???????????// this.cmb_SearchId.DisplayMember = "P_id";32 ????????????this.cmb_SearchId.DisplayMember = "医疗卡号";33 ????????????this.cmb_SearchPYM.DisplayMember = "拼音码"; 34 ????????????//this.cmb_SearchPYM.ValueMember = "U_id"; ??35 36 ???????37 ????????}
ADO.Net中DataSet的应用
原文地址:https://www.cnblogs.com/hsp9/p/9940103.html