zoukankan      html  css  js  c++  java
  • 数据集问题

    一、手动创建一个数据集

     

    private void btnCreateSet_Click(object sender, EventArgs e)
            {
                //1.创建一个数据集
                DataSet ds = new DataSet();
                //2.创建一张表
                DataTable dt = new DataTable("temp");
                //3.创建一张表,需要先创建出表的架构--列集合,所以得先创建出一列,再创建出其它列
                DataColumn c1 = new DataColumn("Id", typeof(int));
                c1.AutoIncrement = true;
                c1.AutoIncrementSeed = 1;
                c1.AutoIncrementStep = 1;
                //4.将创建好的列添加到表的列集合
                dt.Columns.Add(c1);
                //再创建一列
                DataColumn c2 = new DataColumn("Name",typeof(string));
                c2.AllowDBNull = false;
                c2.Unique = true;
                dt.Columns.Add(c2);
                //5.表的架构做完,应该为表添加数据行 ,数据行为什么不能new,因为行的数据添加必须依赖表的架构
                DataRow row = dt.NewRow();//创建一个与当前表相同架构的新行;
                //为行添加值
                //row["Id"] = 标识列不能赋值;
                row[1] = "aa";
                //6.将创建的行添加到行集合
                dt.Rows.Add(row);
                DataRow row2 = dt.NewRow();
                row2["name"] = "bb";
                dt.Rows.Add(row2);
                //7将生成的表添加到数据集中
                ds.Tables.Add(dt);
                //指定数据源,可以直接指定生成的表
                this.dataGridView1.DataSource = dt;
                //也可以指定数据集中的表
                this.dataGridView1.DataSource = ds.Tables[0];
            }

    二、使用数据读取器读取到数据集

      private void btnGet_Click(object sender, EventArgs e)
            {
                //1.创建数据集
                DataSet ds = new DataSet();
                //2.创建数据表
                DataTable dt = new DataTable("Grade");
                //3.创建表的架构--列
                DataColumn c1 = new DataColumn("ClassId",typeof(int));
                DataColumn c2 = new DataColumn("ClassName",typeof(string));
                //4.将创建的列添加到表的架构
                dt.Columns.Add(c1);
                dt.Columns.Add(c2);
                //5.使用数据读取器读取数据到数据行
                using (SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=MySchoolMoreData;Integrated Security=True"))
                {
                    conn.Open();
                    string sql = "select classid,classname from grade";
                    SqlCommand command = new SqlCommand(sql,conn);
                    SqlDataReader reader = command.ExecuteReader();
                    while(reader.Read())
                    {
                        //每一次读取一行,就生成一个表的新行,添加到数据表中
                        DataRow row = dt.NewRow();
                        row[0] = reader[0];
                        row[1] = reader[1];
                        //将生成的行添加到表的行集合中
                        dt.Rows.Add(row);
                    }
                }
                //将生成的表添加到数据集中
                ds.Tables.Add(dt);
                //指定数据源
                this.dgvGrade.DataSource=ds.Tables["Grade"];
            }

    三、使用数据适配器读取数据

     void LoadData()
            {
                //创建一个用来存储使用适配器运送回来的数据的表
                dt = new DataTable();
                DataSet ds = new DataSet();
                //ds.Tables.Add(dt);
                //需要获取的数据
                string sql = "select * from grade;select * from student";
                string connStr = "Data Source=.;Initial Catalog=MySchoolMoreData;Integrated Security=True";
                //创建数据适配器对象,这个对象就相当于现实生活中的  车,它可以帮助你运送数据到客户端,当然也能运送数据从客户端返回到服务器
                da = new SqlDataAdapter(sql, connStr);
                //适配器就会根据用户的需要从服务器中获取相应的数据,返回到用户指定的数据表或者数据集中
                da.Fill(ds);
                //指定数据源
                this.dgvStudents.DataSource = ds.Tables[1];
            }

  • 相关阅读:
    0309. Best Time to Buy and Sell Stock with Cooldown (M)
    0621. Task Scheduler (M)
    0106. Construct Binary Tree from Inorder and Postorder Traversal (M)
    0258. Add Digits (E)
    0154. Find Minimum in Rotated Sorted Array II (H)
    0797. All Paths From Source to Target (M)
    0260. Single Number III (M)
    0072. Edit Distance (H)
    0103. Binary Tree Zigzag Level Order Traversal (M)
    0312. Burst Balloons (H)
  • 原文地址:https://www.cnblogs.com/pengJk/p/6347275.html
Copyright © 2011-2022 走看看