1)、数据库操作首先应该是链接,链接的方式有多种,不论怎样实现最终都是把链接字符串赋值给实现了 继承自DbConnection 类的SqlConnection类实例的ConnectionString属性;

2)、链接后就是执行操作,创建继承自DbCommand类的子类对象SqlCommand,将上面创建的Connection对象传递给SqlCommand对象 ,将要执行的sql语句传递给其CommandText属性;参数利用SqlCommand对象的SqlParameterCollection类型的Parameters属
性的一系列Add或AddWithValue方法添加参数(如果是通过接口 IDbConnection、IDbCommand、IDataReader建立不同数据库的操作可以用DbProviderFactories解除依赖关系);

3)、打开连接对象;

4)、操作:

  • 使用Command对象的ExecuteNonQuery方法执增、删、改行并返回受影响行数;
  • 使用Command对象的ExecuteScalar查询单个数据
  • 查询只说DataReader,关于DataReader与DataSet的之类的东西可以搜出很多;之后使用只有一个有internal修饰的构造函数SqlDatareader(继承自DbDataReader)的实例变量接收SqlCommond对象
    ExecuteReader方法执行后返回的SqlDataReader类型的对象;最后使用循环取出DataReader中的数据;

5)、最后是关闭、销毁此次链接。

              string conStr = "server=xx;database=xx;User id=xx;pwd=xx";
SqlConnection con = new SqlConnection(conStr);
string sqlStr = "";        //SqlCommand cmd = new SqlCommand(sqlStr, con);
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandText = sqlStr;
cmd.Parameter.Add("@",xxxx);
//cmd.Parameters.AddWithValue("@",xxxx); con.Open(); //int nums=cmd.ExecuteNonQuery();
// var value=cmd.ExecuteScalar(); SqlDataReader dr = cmd.ExecuteReader();
if (dr.HasRows)
{
while (dr.Read())
{ }
} dr.Close();
con.Close();
con.Dispose();

DataReader读取数据速度很快,有很多条数据时对内存的影响也是很少的,只能向前读取等;对于应用程序来说数据库操作是很平常的事,尤其是数据的展示,我写的ASP.Net程序中目前的操作中读取数据基本都是DataReader,因为开始只知道使用SqlDataAdapter,自己玩什么因素都发现不了,不适用这个东西,并不是不好,使用什么还得看应用的地方和自己的爱好。

2013/12/18

ADO.NET MSSSQLServer 操作简要总结的更多相关文章

  1. Linux学习之CentOS(四)----Linux文件属性、所有者、群组、其他组及文件权限操作简要总结

    Linux文件属性.所有者.群组.其他组及文件权限操作简要总结 首先介绍一个重要的知识点:文件属性控制权限 [root@www ~]# ls -al total 156 drwxr-x--- 4 ro ...

  2. MFC中使用ADO进行数据库操作

    参考FROM:http://hi.baidu.com/sunkanghome/item/e1fda510b3186359f1090ee2 数据库与数据库编程: 当前各种主流数据库有很多,包括Oracl ...

  3. 就这么 来ADO.net类操作数据库

    使用ADO.net操作数据库其实也是很简单,而且使用频率蛮高的一种方式.话不多说,上代码才更容易理解. 首先,先要引入数据库操作相关的命名空间,这样才能使用下面的代码 //数据库连接引用的命名空间 u ...

  4. ado.net常用操作

    目录 一.ADO.NET概要 二.ADO.NET的组成 三.Connection连接对象 3.1.连接字符串 3.1.1.SQL Server连接字符串 3.1.2.Access连接字符串 3.1.3 ...

  5. 初始ADO.NET数据操作

    以下介绍直接来源与百度百科,介绍十分全面和详细,作为小菜的我们没有理由不看完这些枯燥的介绍原有: ADO.NET的名称起源于ADO(ActiveX Data Objects),是一个COM组件库,用于 ...

  6. 一种利用ADO连接池操作MySQL的解决方案(VC++)

    VC++连接MySQL数据库 常用的方式有三种:ADO.mysql++,mysql API ; 本文只讲述ADO的连接方式. 为什么要使用连接池? 对于简单的数据库应用,完全可以先创建一个常连接(此连 ...

  7. ADO.NET 一般操作(c#)

    ADO.NET五大对象:SqlConnection.SqlCommand.SqlDataReader.SqlDataAdapter .DataSet ,其中SqlDataAdapter 不建议使用 一 ...

  8. ADO.NET数据库操作助手类

    SQL语句操作增删查改助手类 using System; using System.Collections.Generic; using System.Configuration; using Sys ...

  9. ADO.NET 数据库操作类

    操作数据类 避免代码重用.造对象太多.不能分工开发 利用面向对象的方法,把数据访问的方式优化一下,利用封装类   一般封装成三个类: 1.数据连接类 提供数据连接对象 需要引用命名空间: using ...

随机推荐

  1. vue项目锚点的使用

    在vue项目中如何使用锚点呢? 在vue-router中定义 scrollBehavior scrollBehavior (to, from, savedPosition) { if (savedPo ...

  2. Jmeter固定定时器(Constant Timer)

    如上图,Constant Timer是jmeter固定定时器元件 一般用来设置延时的,放在某个请求下,表示Constant Timer配置的指定时间后,再开始发起这个请求操作(单位:毫秒) 根据Con ...

  3. superset在 centos 7安装运行

    参考:1.http://blog.csdn.net/u014729236/article/details/76302888?locationNum=2&fps=1 2.https://www. ...

  4. CentOS 6.8下网卡配置、桥接模式和NAT连接模式、VMware虚拟机克隆网卡配置

    模式一:桥接模式: 1. 在VMware中安装好虚拟机后,虚拟机网卡设置:选择桥接模式 2. 查看本机的网络信息: 找到ip.子网掩码.网关.DNS等. 找一个没有使用的ip,例如:192.168.1 ...

  5. pl/sql developer 问题总结

    问题1,出现NLS_LANG和字符集(Character set)问题 安装完PL/SQL后打开,遇到如图问题. 原因:这是因为系统没有设置NLS_LANG系统变量. 解决方法:有两种方式查看. 1. ...

  6. ambiguous

    ambiguous - 必应词典 美[æm'bɪɡjuəs]英[æm'bɪɡjuəs] adj.模棱两可的:含混不清的:多义的:不明确的 网络含糊的:模糊的:暧昧的 搭配ambiguous answe ...

  7. Hadoop环境搭建--Docker完全分布式部署Hadoop环境(菜鸟采坑吐血整理)

    系统:Centos 7,内核版本3.10 本文介绍如何从0利用Docker搭建Hadoop环境,制作的镜像文件已经分享,也可以直接使用制作好的镜像文件. 一.宿主机准备工作 0.宿主机(Centos7 ...

  8. python websocket 再线聊天室的 Demo

    服务端 import tornado.web import tornado.ioloop import tornado.httpserver import tornado.options import ...

  9. php socket多进程简单服务器(一)

    进程,线程  IO复用,协程都是处理完成并发的方式 socket分为  三步 服务器监听,客户端请求,连接确认, 每次连接都由当前进程来处理,可以通过IO复用来解决这个问题, 这次通过进程来完成并发请 ...

  10. mysql group by using filesort优化

    原join 连接语句 SELECT SUM(video_flowers.number) AS num, video_flowers.flower_id, flowers.title, flowers. ...