C#中DataSet的使用

xiaoxiao2021-02-27  266

DataSet的使用

  java中有result来获取数据集,而c#中有Dataset来获取数据集,那么我们应该怎么获取数据集呢?下面说一下获取数据集的几种方式: 第一种: 把数据库中的数据通过DataAdapter对象填充DataSet。 这种是比较简单的方式,主要是通过dataAdapter中的fille和fillSchema方法来对数据集进行填充。 主要代码如下:

class Test { //数据库连接 private OleDbConnection olecon; //命令 private OleDbCommand olecom; //适配器 private OleDbDataAdapter oledata; //创建list集合:只存放student对象 private List<student> list = new List<student>(); //数据库链接类 private void link() { //数据库连接语句 string sqlcon = "provider=microsoft.jet.oledb.4.0;data source=./data.mdb"; //创建数据库连接对象 olecon = new OleDbConnection(sqlcon); //打开数据库连接 olecon.Open(); //插入的sql语句 string addsql = "insert into Data.Test(test_name,test_grade,test_age) values ('张三','软件一班','22')"; //选择的sql语句 string selsql = "select * from Test"; try { //创建添加命令,将数据添加到数据库中 olecom = new OleDbCommand(addsql, olecon); //执行命令 olecom.ExecuteNonQuery(); //测试是否添加成功 Console.WriteLine("保存成功"); //创建选择命令,将数据库中的数据选择 olecom = new OleDbCommand(selsql, olecon); //得到oledbdataadapter对象,及dataset与数据之间的桥梁 oledata = new OleDbDataAdapter(olecom); // 创建dataset数据集用来接收数据 DataSet ds = new DataSet(); //把获得的数据赋给dataset数据集 oledata.Fill(ds); //遍历数据集 for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { //获取第一个表中第二列的所有值 string name = ds.Tables[0].Rows[i][1].ToString(); //获取第一个表中第三列的所有值 string grade = ds.Tables[0].Rows[i][2].ToString(); //获取第一个表中第四列的所有值 string age = ds.Tables[0].Rows[i][3].ToString(); //通过构造函数构建student对象 student st = new student(name,grade,age); //将构建的对象添加到list集合中 list.Add(st); //测试是否添加 Console.WriteLine("添加了"+i+"个"); } foreach(student st in list){ //遍历list集合输出所有信息 Console.WriteLine("我的姓名:"+st.Name+"我的班级:"+st.Grade+"我的年龄"+st.Age); } } catch (Exception ex) { Console.WriteLine("异常++" + ex.Message); } finally { //关闭数据库 olecon.Close(); //释放资源 olecon.Dispose(); } } private static void Main(String[] args) { //调用方法 new Test().link(); Console.ReadKey(); } }

  第二种方式 把XML数据流或文本加载到DataSet

  由于ADO.NET2.0中增强了与XML文件的结合,所以在这个时候DataSet中的数据可以从XML数据流或文档创建。加载XML数据流和文档到DataSet中是可使用DataSet对象的ReadXml方法。该ReadXml方法读取 XML 流或文档的内容并将数据加载到 DataSet 中。根据所指定的XmlReadMode和关系架构是否已存在,它还将创建DataSet的关系架构。

实现代码如下所示:

DataSet ds= new DataSet("xmlds"); ds.ReadXml("c:\\databases.xml");
转载请注明原文地址: https://www.6miu.com/read-4319.html

最新回复(0)