一、SqlConnection对象

第一次需要连接数据库时要和服务器握手,解析连接字符串,授权,约束的检查等等操作,而物理连接建立后,这些操作就不会去做了(默认使用了连接池技术)。

 SqlConnection conn = new SqlConnection(connStr)

小技巧:测试数据库是否能被成功链接,可以新建一个xxx.UDL文件,打开后输入实例名和密码,即可测试。

SQLServer自动备份和自动删除过期文件

二 、SqlCommand对象

2.1  SqlCommand常用属性

① CommandText 属性
  T-SQL语句或者存储过程的名字。
  
② CommandType属性
  表示CommandText属性种类。

  常用值:Text(默认值,CommandText为T-SQL语句)

           StoredProcedure (CommandText为存储过程的名字)

③  Parameters属性

  是一个SqlParameterCollection对象,存储用到的SqlParameter。

常用方法:SqlCommand.Parameters.Add(p);添加一个参数,p为一个SqlParameter对象

        SqlCommand.Parameters.Add(ps);添加一个参数,ps为一个SqlParameter数组

2.2  SqlCommand的三种execute方法

① SqlCommand.ExecuteNonQuery 方法

使用场景:update,insert,delete

返回值:受影响的行数,不是上边三种情况或者回滚时返回-1。

对于 UPDATE、INSERT 和 DELETE 语句,返回值为该命令所影响的行数。如果正在执行插入或更新操作的表上存在触发器,则返回值包括受插入或更新操作影响的行数以及受一个或多个触发器影响的行数。对于所有其他类型的语句,返回值为 -1。如果发生回滚,返回值也为 -1。

② SqlCommand. ExecuteScalar 方法

使用场景:select

返回值:查询结果集的首行首列值,类型为object。结果集为空时返回null。

③ SqlCommand.ExecuteReader 方法

特点:在线的,读取过程必须和数据库保持连接

使用场景:select

返回值:SqlDataReader对象

using (SqlConnection conn = new SqlConnection(connStr))
{
using (SqlCommand com = new SqlCommand("select * from userinfo where id<@id", conn))
{
conn.Open();
SqlParameter par = new SqlParameter("@id", System.Data.SqlDbType.Int) { Value = };
com.Parameters.Add(par);
SqlDataReader reader = com.ExecuteReader();
while (reader.Read())
{
Console.WriteLine(reader["username"]);//数据库中列名
Console.WriteLine(reader[]);//1为索引
Console.WriteLine(reader.GetValue());//1为索引
}
reader.Close();//释放资源
Console.ReadKey();
}
}

三、SqlDataAdapter对象

特点:离线方式,读取整个结果集保存在内存,不需要一直连接数据库(自动打开和关闭数据库连接)

using (SqlConnection conn = new SqlConnection(connStr))
{
SqlDataAdapter adpter = new SqlDataAdapter("select * from userinfo", conn);
DataTable dt = new DataTable();
//SqlDataAdapter内部获取数据是通过调用SqlDataReader来实现的
//执行Fill方法时,它会打开到数据库的SqlConnection, 创建或使用一个SqlCommand,使用SqlCommand.ExecuteReader()方法
//通过SqlDataReader从数据库读取数据, 结束行的读取之后, SqlDataReader和SqlConnection会被关闭.
adpter.Fill(dt);
for (int i = ; i < dt.Rows.Count; i++)
{
Console.WriteLine(dt.Rows[i]["username"]);
}
Console.ReadKey();
}

Ado.NET基础必备的更多相关文章

  1. ADO.NET基础必备之SqlCommand.Execute三方法

    SqlCommand.ExecuteNonQuery 方法   对连接执行 Transact-SQL 语句并返回受影响的行数. ――语法: public override int ExecuteNon ...

  2. ADO.NET基础03

    数据库和VS的连接,实现数据的同步,让用户的一切信息都可以在数据库中留下记录. ADO.NET基础      它是连接所有数据库的一种特殊的技术,提供对不同的数据库统一操作接口. 在VS中也可以添加数 ...

  3. .Net Core 系列:2、ADO.Net 基础

    目录: 1.环境搭建 2.ADO.Net 基础 3.ASP.Net Core 基础 4.MD5.Sha256.AES 加密 5.实现登录注册功能 6.实现目录管理功能 7.实现文章发布.编辑.阅览和删 ...

  4. 有关ADO.NET基础中的基础的熟悉过程

    现在对于ADO.NET基础的理解与记忆并不严谨和完善 所以,只写一点关于自己的理解,嗯,一种去转换思维理解的方法吧,算是吧 希望各位前辈或者同学,积极指出其中的错误和偏差 个人对于刚接触的ADO.NE ...

  5. 如鹏网学习笔记(六)ADO.Net基础

    ADO.Net基础 一.ADO.Net简介 1,程序要通过SQL语句自动化的操作数据库,必须要用一个类库, 类库要提供execute("insert into ...")/exec ...

  6. Linq基础必备

    1.linq基础必备之对象初始化器和匿名类型因果分析   3. 一:对象初始化器 1.就是在new的时候给公共属性赋值的一种方式 2. 在没有初始化器之前的时候,我们是怎么初始化的呢??? 1. 构造 ...

  7. ADO.NET基础开发

    ADO.NET是微软新一代.NET数据库的访问架构,ADO是ActiveX Data Objects的缩写.ADO.NET是数据库应用程序和数据源之间沟通的桥梁,主要提供了一个面向对象的数据访问架构, ...

  8. python 之 Django框架(服务器程序和应用程序、基础必备三件套及相关配置)

    第十二章 Django框架 12.1 服务器程序和应用程序 服务器程序负责对socket服务器进行封装,并在请求到来时,对请求的各种数据进行整理.应用程序则负责具体的逻辑处理.为了方便应用程序的开发, ...

  9. ADO.NET基础巩固-----连接类和非连接类

          最近的一段时间自己的状态还是不错的,早上,跑步,上自习看书,下午宿舍里面编程实战,晚上要么练习代码,要么去打球(在不打就没机会了),生活还是挺丰富的. 关于C#的基础回顾就先到前面哪里,这 ...

随机推荐

  1. 数据库 -- mysql表操作

    一,存储引擎介绍 存储引擎即表类型,mysql根据不同的表类型会有不同的处理机制 详见:https://www.cnblogs.com/peng104/p/9751738.html 二,表介绍 表相当 ...

  2. 阿里云.log

    申请证书审核失败的原因及处理方法;( 新添加站点 免费版 SSL 网页内不能有 HTTPS的连接:更多点击连接)

  3. MT【279】分母为根式的两个函数

    函数$f(x)=\dfrac{3+5\sin x}{\sqrt{5+4\cos x+3\sin x}}$的值域是____ 分析:注意到$f(x)=\sqrt{10}\dfrac{5\sin x+3}{ ...

  4. 【CF429E】Points and Segments(欧拉回路)

    [CF429E]Points and Segments(欧拉回路) 题面 CF 洛谷 题解 欧拉回路有这样一个性质,如果把所有点在平面内排成一行,路径看成区间的覆盖,那么每个点被从左往右的覆盖次数等于 ...

  5. 【mysql】mysql索引及优化学习

    一般优化mysql首先看查找的数据有没有用到索引,没有索引就加索引,有索引时候避免索引失效.(如果优化器觉得不需要索引就能返回所需要的数据暂不考虑) 看下面两条语句 MySQL [release_te ...

  6. LaTex in Markdown

      上次写了Markdown,这次用到了LaTex,也出一期(吐槽,工作量比Markdown高太多...) Markdown基础:https://www.cnblogs.com/dotnetcrazy ...

  7. 【转】MySQL常见错误代码及代码说明参考

    Mariadb文档:https://mariadb.com/kb/zh-cn/mariadb/ MySQL文档:https://dev.mysql.com/doc/refman/8.0/en/ 100 ...

  8. http://bsideup.blogspot.com/2015/04/spring-boot-thrift-part3.html

    Building Microservices with Spring Boot and Apache Thrift. Part 3. Asynchronous services Posted on 4 ...

  9. ONI无法启动: Uh oh! Unable to launch Neovim...

    问题描述 在终端中是可以打开nvim的,ONI无法正确找到位置 解决方法 修改配置文件,指定nvim的路径 终端中输入which nvim定位所在位置,这里返回的结果是/usr/local/bin/n ...

  10. 百度地图API示例:使用vue添加删除覆盖物

    1.index.html <script type="text/javascript" src="http://api.map.baidu.com/api?v=2. ...