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. 128bit 整数运算的实现

    对于128bit的长整型运算,GCC提供了扩展类型:__int128.然而该类型不在C/C++语言的标准之中,并且对于不同种类的编译器,它的实现情况不同.因此,在编写相关的可移植程序时,我们有必要实现 ...

  2. mysql concat筛选查询重复数据

    SELECT * from (SELECT *,concat(field0,field1)as c from tableName) tt GROUP BY c HAVING count(c) > ...

  3. 天坑!c++调用python,遭遇R6034问题

    起源: AllMyTube下载核心,是c#组件调用c++dll,在dll中初始化Python运行环境.在工作目录有msvcr90.dll文件时,程序运行会弹出如下错误: R6034. -------- ...

  4. 阿里巴巴开源 Spring Cloud Alibaba,加码微服务生态建设

    本周,Spring Cloud联合创始人Spencer Gibb在Spring官网的博客页面宣布:阿里巴巴开源 Spring Cloud Alibaba,并发布了首个预览版本.随后,Spring Cl ...

  5. c# 判断当前版本是Debugger或Release

    1.第一种 (常用) #if DEBUG //debugger 环境 #else //release 环境 #endif 2. 第二种 private bool IsDebug() { Assembl ...

  6. 《剑指Offer》第20题(Java实现):定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。

    一.题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1)). 二.思路解析 首先定义一个Integer类型的栈,记为stack,此栈用来完成数据 ...

  7. 监控服务器配置(三)-----Node_exporter安装配置

    此安装主要是为了监控服务器运行状况 1.下载node_exporter安装包(linux版)到 /opt/minitor/node_exporter . 下载地址:https://download.c ...

  8. 4.7做作业时发现,内联元素设置宽高背景以后正常不显示,但是设置了position:absolute;以后就可以显示了。起到了和display:block;一样的效果。然后查了一下知道了。

    如果内联元素定位属性设置为:absolate,元素脱离文档,即使a元素中没有内容,设置的背景依然会显示!

  9. 安装mitmproxy

    https://www.jianshu.com/p/1dd40826113b 先连接到同一个局域网,再访问官网下载描述文件

  10. eclipse Filter web.xml 问题解决 异步请求@WebServlet

    <filter> <filter-name>AsynServlete</filter-name> <filter-class>com.kad.app.a ...