zoukankan      html  css  js  c++  java
  • 数据集DataSet

    ADO.NET数据访问技术的一个突出的特点就是支持离线访问,而实现这种离线访问技术的核心就是DateSet对象,该对象通过将数据驻留在内存来实现离线访问.

    DataSet对象由一组DataTable对象组成,这些对象DataRelation对象互相关联,这些Data Table对象又包含Rows()集合、Columns()集合,Rows集合是由多个DataRow对象组成,Columns集合是由多个DataColumns对象组成。

    步骤

    1. 引入命名空间system.Data
    2. 创建DataSet对象
    3. 创建DataTable对象
    4. DataTable对象加入DataSet对象中
    5. 定义列,并像DataTable中增加已经定义好的列
    6. 插入行数据
    7. 进行相关操作
        class Program
        {
            public static void outprint(DataSet ds)   //输出方法
            {
                foreach (DataTable outable in ds.Tables)
                {
                    Console.WriteLine("表名"+outable.TableName);
    
                    foreach (DataRow outdrow in outable.Rows)
                    {
                        foreach (DataColumn outcolumn in outable.Columns )
                        {
                            Console.WriteLine(outdrow[outcolumn]+"	");
                            Console.WriteLine();
                        }
                    }
    
                }
                
            }
    
    
    
            static void Main(string[] args)
            {
                try
                {
                    //定义数据集
                    DataSet myds = new DataSet("book");
                    //定义表
                    DataTable mydt = new DataTable("table001");
                    //数据表添加到数据集中
                    myds.Tables.Add(mydt);
    
                    //定义列  相当于字段 行 相当于数据  有了字段才能在行上面添加数据,所以要先定义列
                    
                    DataColumn mytcl1 = new DataColumn("name",Type.GetType("System.String"));   //定义mycl1列=新列 列的名称和获取列的数据类型
                    DataColumn mytcl2 = new DataColumn("deparment",Type.GetType("System.String"));
                    //列加入到数据表中
                    mydt.Columns.Add(mytcl1);
                    mydt.Columns.Add(mytcl2);
                    string[,] str = { { "张三", "开发部" }, { "赵四", "项目部" }, { "王五", "售后部" }, { "赵六", "技术部" } };
    
                    for (int i = 0; i < str.Length / 2; i++)      //for循环添加数据
                    {
                        DataRow myrow = mydt.NewRow(); //定义行 等于表格中的新行 我们先前定义了表和列  列加入表中,
                                                      //table.newrow()返回一个具有相同架构的新行 不定义列直接newrow 里面有字段的也就是没架构
                        
                        myrow[0] = str[i, 0];
                        myrow[1] = str[i, 1];
                        mydt.Rows.Add(myrow);     //行加入表中
                    }
                    myds.AcceptChanges();  //保存
                    outprint(myds);
                    
                }
                catch (Exception ex)
    
                {
                    Console.WriteLine(ex.Message.ToString());
                
                }
                Console.ReadKey();
            }
        }
    }
    

      

    自己理解
    创建dataset数据集的时候 就跟创建database一样
    首先呢 要创建数据库【dateset】
    创建数据表【datatable】
    把表加入到数据库中 ,之后呢要创建字段了 字段就是列
    创建完列之后 要把列加入到表中 
    整个一个dataset数据集(数据库)的框架就弄好了。
    定义一个2维数组,利用for 循环传到刚刚我们创建的框架中
    往框架中传数据需要用到行(DataRow drw = dtb.NewRow();)把行加入到表中
    Drw[0] 代表第一行
    Drw[1] 代表第二行
    .
    .
    .
    之后输出dataset数据集
    创建一个方法   
    public void outvalue(DataSet ds)
            {
                foreach (DataTable outdtb in ds.Tables)   //首先检查数据集中的表
                {
                    Console.WriteLine(outdtb.TableName);  //输出表名
                    foreach (DataRow outdrw in outdtb.Rows)  //检查行数据
                    {
                        foreach (DataColumn outdcl in outdtb.Columns) //检查列数据
                        {
                            Console.Write(outdrw[outdcl]+"	"); //输出列数据
                            
                        }
                        Console.WriteLine(); //输出一列后换行
                    }
                    
                }
  • 相关阅读:
    Java面向对象XMind
    使用idea插件JRebel热部署的坑
    Mysql小技巧(多行数据合并+模糊查询
    JRebel安装使用
    Shiro(三) 权限管理 假数据
    Shiro(二)通过shiro实现登录 连接数据库+集成Springboot
    Shiro(一)通过shiro实现登录
    poi实现Excel输出
    日志,注解切入点
    获取用户信息
  • 原文地址:https://www.cnblogs.com/xiaowie/p/8624565.html
Copyright © 2011-2022 走看看