五大对象:
1.Connection(连接数据库)
2、Command(执行T-SQL语句)
3、DataAdapter(用户填充DataSet,断开模式)
4、DataReader(读取数据库,一种只读模式,只向前的)
5、DataSet(数据集,好比电脑的内存)
 
需要引用的命名空间
System.Data
System.Data.SqlClient
 
1.Connection
string connectionString="data source=.;initial catalog=Northwind;persist security info=True;user id=sa;password=abcd1234";
using (SqlConnection connection = new SqlConnection(connectionString))
    {
        connection.Open();
    }

2.commnd

(1)ExecuteNonQuery(),执行非 SELECT 语句,如增、删、改。返回受影响的行数,int型。

string connectionString="data source=.;initial catalog=Northwind;persist security info=True;user id=sa;password=abcd1234";
using (SqlConnection connection = new SqlConnection(connectionString))
    {
        connection.Open(); //在执行ExecuteNonQuery之前打开就行
    string sql="update Employees set name='zhangsan'";
    SqlCommand cmd = new SqlCommand(sql, connection);
int result=Convert.ToInt32(cmd.ExecuteNonQuery());
    connection.Close(); //在执行ExecuteNonQuery之后关闭就行
}

(2)ExecuteScalar() ,执行 SELECT 查询,返回第一行第一列的值,类型为 Object,常用语执行聚合函数

string connectionString="data source=.;initial catalog=Northwind;persist security info=True;user id=sa;password=abcd1234";
using (SqlConnection connection = new SqlConnection(connectionString))
    {
        connection.Open(); //在执行ExecuteNonQuery之前打开就行
    string sql="SELECT * FROM Employees";
    SqlCommand cmd = new SqlCommand(sql, connection);
       int result=Convert.ToInt32(cmd.Executescalar()); //返回的是object类型,需要转成int型
    connection.Close(); //在执行ExecuteNonQuery之后关闭就行
}

(3)ExecuteReader(),执行 SELECT 查询,返回一个封装了只读,只进游标的 DataReader 对象

 3.DateSet

  private static DataSet getDataset()
    {
        string connectionString = "Data Source=192.168.0.245;User ID=sa;Password=123456;Persist Security Info=True;Initial Catalog=MES928";

        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            string sql = "SELECT * FROM Employees";
            SqlDataAdapter adapter = new SqlDataAdapter();
            DataSet ds = new DataSet();
            adapter.SelectCommand = new SqlCommand(sql, connection);
            adapter.Fill(ds);
            return ds;
        }
    }

常用方法:

  • 计算行数:dt.Rows.Count

ADO.net的更多相关文章

  1. ADO.NET对象的详解

    1. Connection 类 和数据库交互,必须连接它.连接帮助指明数据库服务器.数据库名字.用户名.密码,和连接数据库所需要的其它参数.Connection对象会被Command对象使用,这样就能 ...

  2. WebForm获取GET或者POST参数到实体的转换,ADO.NET数据集自动转换实体

    最近在修改维护以前的webform项目(维护别人开发的.....)整个aspx没有用到任何的控件,这个我也比较喜欢不用控件所以在提交信息的时候需要自己手动的去Request.QueryString[] ...

  3. ADO.NET编程之美----数据访问方式(面向连接与面向无连接)

    最近,在学习ADO.NET时,其中提到了数据访问方式:面向连接与面向无连接.于是,百度了一下,发现并没有很好的资料,然而,在学校图书馆中发现一本好书(<ASP.NET MVC5 网站开发之美&g ...

  4. ADO.NET一小记-select top 参数问题

    异常处理汇总-后端系列 http://www.cnblogs.com/dunitian/p/4523006.html 最近使用ADO.NET的时候,发现select top @count xxxx 不 ...

  5. .NET基础拾遗(6)ADO.NET与数据库开发基础

    Index : (1)类型语法.内存管理和垃圾回收基础 (2)面向对象的实现和异常的处理 (3)字符串.集合与流 (4)委托.事件.反射与特性 (5)多线程开发基础 (6)ADO.NET与数据库开发基 ...

  6. 升讯威ADO.NET增强组件(源码):送给喜欢原生ADO.NET的你

    目前我们所接触到的许多项目开发,大多数都应用了 ORM 技术来实现与数据库的交互,ORM 虽然有诸多好处,但是在实际工作中,特别是在大型项目开发中,容易发现 ORM 存在一些缺点,在复杂场景下,反而容 ...

  7. ADO.NET Entity Framework 在哪些场景下使用?

    在知乎回答了下,顺手转回来. Enity Framework已经是.NET下最主要的ORM了.而ORM从一个Mapping的概念开始,到现在已经得到了一定的升华,特别是EF等对ORM框架面向对象能力的 ...

  8. ADO.NET 核心对象简介

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

  9. ODBC、OLE DB、 ADO的区别

    转自:http://blog.csdn.net/yinjingjing198808/article/details/7665577 一.ODBC ODBC的由来 1992年Microsoft和Syba ...

  10. LINQ to SQL语句(19)之ADO.NET与LINQ to SQL

    它基于由 ADO.NET 提供程序模型提供的服务.因此,我们可以将 LINQ to SQL 代码与现有的 ADO.Net 应用程序混合在一起,将当前 ADO.NET 解决方案迁移到 LINQ to S ...

随机推荐

  1. 关于mysql 和Oracle的一大堆麻烦问题的解决方案

    [INS-20802] Oracle Net Configuration Assistant 失败 在百度上找了半天并没有找到可靠的解决方案,最后是可以安装完成的,之后我 通过SQL Plus连接就报 ...

  2. iOS之在写一个iOS应用之前必须做的7件事(附相关资源)

    本文由CocoaChina--不再犹豫(tao200610704@126.com)翻译 作者:@NIkant Vohra 原文:7 Things you must absolutely do befo ...

  3. React Native知识9-ScrollView组件

    一个包装了平台的ScrollView(滚动视图)的组件,同时还集成了触摸锁定的“响应者”系统. 记住ScrollView必须有一个确定的高度才能正常工作,因为它实际上所做的就是将一系列不确定高度的子组 ...

  4. SQLSERVER基础语句(一)

    1.插入一行数据:INSERT INTO 表名(列名)VALUES(对应的值);2.一次性插入多条数据先建表:INSERT INTO 新建表名(列表)SELECT 原始表列名 FROM 原始表:执行时 ...

  5. Allocators与Criterion的相同点及区别

    C++98: 1.相同点: Allocators having the same type were assumed to be equal so that memory allocated by o ...

  6. get和post的区别

    http://localhost:8080/shopc/check.do?username=zhangsan&pwd=123456 http://localhost:8080/shopc/ch ...

  7. 会议管理心得记录(非markdown版)

    前提 本文说的会议特指有开发团队成员参与的会议, 包括但不限于开发.设计.测试.运维.管理岗位的成员. 因为不同工种和行业都有其特殊性,我是一名程序员,并不太了解其他工种和行业的具体情况,不敢妄言. ...

  8. php Zend Opcache,xcache,eAccelerator缓存优化详解(具体根据个人需要选择其一即可,功能都一样切勿重复选择)

    载入 XCache 模块 引用 ;; 安装成 zend extension (推荐), 路径一般是 "$extension_dir/xcache.so" zend_extensio ...

  9. 实现从Oracle增量同步数据到GreenPlum

    简介: GreenPlum是一个基于PostgreSQL数据库开发的MPP架构的数据库仓库,适用于OLAP系统,支持50PB(1PB=1000TB)级海量数据的存储和处理. 背景: 目前有一个业务是需 ...

  10. python-函数

    函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你也可以自己创建函数,这 ...