一、知识描述

1、什么是DataSet?

DataSet为一个数据集,可以看做是一个内存中的数据库,包括表、数据行、数据列以及表与表之间的关系。

创建一个DataSet后,它可以单独存在,不需要一直保持和数据库的连接。

2、DataSet的使用方法:

(1)创建DataSet对象

DataSet ds = new DataSet();

DataSet ds = new DataSet(“DataSetName”);

(3)调用SqlDataAdapter对象的Fill方法向数据集中填充数据

SqlDataAdapter da = new SqlDataAdapter(sql, conn);

DataSet ds = new DataSet();

da.Fill(ds);

(4)如果DataSet中已包含数据,可以通过如下代码访问第一个表中的第i行第j列的数据(索引从0开始)

ds.Tables[0].Rows[i].ItemArray[j];

或者

ds.Tables[0].Rows.Count;

3、DataSet的基本结构:

二、实例代码

SqlConnection sqlConnection = new SqlConnection();                             
            sqlConnection.ConnectionString =
                ConfigurationManager.ConnectionStrings["Sql"].ConnectionString;            
            sqlConnection.Open();   
            SqlCommand sqlCommand = new SqlCommand();                                                     
            sqlCommand.Connection = sqlConnection;                                                      
            sqlCommand.CommandText =                                                                      
                "UPDATE tb_drug"
                + " SET RetailPrice=@RetailPrice;";
            sqlCommand.Parameters.Add("@RetailPrice", SqlDbType.Char, 0, "RetailPrice");                                 
           
            SqlDataAdapter sqlDataAdapter = new SqlDataAdapter();                                          
            sqlDataAdapter.UpdateCommand = sqlCommand;                                                   
            DataTable drugTable = (DataTable)this.dgv_drug.DataSource;                                
                                                                                   
            int rowAffected = sqlDataAdapter.Update(drugTable);                                        
            sqlConnection.Close();                                                                       
            MessageBox.Show("更新" + rowAffected.ToString() + "行。");
        }

三、效果截图

DateSet的应用的更多相关文章

  1. dateset是不是在缓存中

    C#开发erp系统的时候有一个多表数据的查询展示到页面,采用了存储过程的方式,但是存储过程中没有加入分页(菜比).刚开始测试数据几百条没有问题,当数据量提升至十万级后页面加载速度就很卡了,一般是使用分 ...

  2. dateset添加一列

    ds.Tables[].Columns.Add("short_name", System.Type.GetType("System.String"));//直接 ...

  3. datatable dateset 载体传递数据、存储过程

    第一部分:数据库通过存储过程读取数据,通过datatable接受,前台通过asp:repeater.DataSource()和binding()绑定数据 /// <summary> /// ...

  4. .net 将xml转换成DateSet

    /// <summary> /// 将XML字符串转换成DATASET /// </summary> /// <param name="xmlStr" ...

  5. 使用DateSet下载Excel

    这里我们使用Microsoft.Office.Interop.Excel.dll下载Excel,没有引用可点击下载 关键代码,ExcelHelper类 using System; using Syst ...

  6. Spark-RDD/DataFrame/DateSet

    RDD 优点: 编译时类型安全编译时就能检查出类型错误 面向对象的编程风格直接通过类名点的方式来操作数据 缺点: 序列化和反序列化的性能开销无论是集群间的通信, 还是IO操作都需要对对象的结构和数据进 ...

  7. asp.net mvc Dateset读取Excel数据

    //处理Excel //读取Excel [NonAction] public static DataSet ExcelToDS(string Path) { //根据情况选择合适的连接字符,参考msd ...

  8. c# 读取数据库得到dateset

    public DataSet GetCraftInformation(string connectionString, string opName, string productType)       ...

  9. ADO.NET 核心对象简介

    ADO.NET是.NET中一组用于和数据源进行交互的面向对象类库,提供了数据访问的高层接口. ADO.NOT类库在System.Data命名空间内,根据我们访问的不同数据库选择命名空间,System. ...

随机推荐

  1. odoo 14 一些常见问题集

    1 # 当你往tree或者form视图中增加action的时候 2 # 记住!千万别重名 3 # 一旦重名,Export.Delete.Archive.Unarchive都会消失不见 4 # tree ...

  2. Linux、Ubuntu常用命令

    # 文件解压缩 # zip压缩目录(附带目录权限) zip -q -r html.zip /home/html 压缩目录 tar -zcvf pack.tar.gz pack/ #打包压缩为一个.gz ...

  3. 总结-DSU ON TREE(树上启发式合并)

    考试遇到一道题: 有一棵n个点的有根树,每个点有一个颜色,每次询问给定一个点\(u\)和一个数\(k\),询问\(u\)子是多少个不同颜色节点的\(k\)级祖先.n<=500000. 显然对每一 ...

  4. Mysql 实现数据库读写分离

    Amoeba+Mysql实现数据库读写分离 一.Amoeba 是什么 Amoeba(变形虫)项目,专注 分布式数据库 proxy 开发.座落与Client.DB Server(s)之间.对客户端透明. ...

  5. k8s vs k3s: 差异解析

    Kubernetes无疑是容器编排领域的领头羊.但目前,我们看到K3s或轻量级的Kubernetes发行版,轻巧.高效.快速,占用空间极小.鉴于目前企业对于在生产环境中使用K3s还是K8s感到纠结.我 ...

  6. 「雅礼集训 2017 Day2」水箱 (数据结构+dp ,一个log)

    题面 题解 在网上看到有些做法,有什么平衡树.启发式合并等等总之复杂度O(Tnlog^2(n))的不优做法,这里我就用一个O(Tnlogn)的做法好了 其实大体上推导的思路都是一样的. 我们很容易发现 ...

  7. Homework5

    问:什么是分而治之? 答:分而治之就是通过一系列的方法,将复杂的问题逐渐划分成若干份相对简单的问题的方法,对每个相对简单问题进行一一解决,若干个简单问题的解的集合就是一个复杂问题的解.分而治之的应用体 ...

  8. K8S_CNI

    CNI 插件 定义: Container Network Interface 容器通用接口 K8S 中可选的 CNI 插件如下: Flannel 较流行 Calico 性能棒,比Flannel快1% ...

  9. 【android 逆向】arm if

    #include <stdio.h> void if1(int n){ //if else语句 if(n < 10){ printf("the number less th ...

  10. mpdf导出pdf,中文符号乱码

    改源码: 打开vendor/mpdf/mpdf/src/Config/FontVariables.php 在最后一行加入: "gb" => [ 'R' => 'gb.t ...