14-4-1Connection连接、关闭数据库

1.为了访问数据库,就要提供数据库连接类,在C#中,是通过Connection类来实现的。它有

四种类型的连接方式:

SQLConnection

ADOConnection

OracleConnection

ODBCConnection

下面将以SQLConnection为例来讲解

Connection对象

准备工作

一、在程序运行中出现以下异常,用户登录sa失败

解决办法:

用windows认证先登录--右击属性--点击安全性--选择SQL Server和Windows身份验证模式(s)

2.创建连接SQL Server数据库的字符一般有两种,

一种是以SQL验证登录

另一种是以Window身份验证

步骤:

①引用命名空间System.Data.SqlClient

②将连接方法声明至字符串中

③创建Connection对象

④调用方法

-------------------------------------------------------实例1--------------------------------------------------

-------控制台应用程序Windows认证

static void Main(string[] args)

  {

    //数据库的连接分为两种

    //SQL Server数据库

    //windows身份验证实现登录并打开数据库

    //integrated security综合安全性Initial Catalog数据库名称

    string constr= "Server=localhost;integrated security =SSPI;Initial Catalog=csharpzxw";

    SqlConnection mysqlCon = new SqlConnection(constr);

    mysqlCon Open();

    Console.WriteLine("数据库成功打开");

    Console.ReadKey();

  }

-------------------------------------------------------实例1--------------------------------------------------

-------------------------------------------------------实例2--------------------------------------------------

-------控制台应用程序SQL验证方式登录

Static void Main(string[] args)

{

  //数据库的连接分为两种

//SQL Server数据库

    //SQL验证方式验证实现登录并打开数据库

  string constr = "Server = localhost;user=sa;database=csharpzxw";

  SqlConnection mysqlCon = new SqlConnection(constr);

  mysqlCon.Open();

  Console.WriteLine("数据库成功打开");

  Console.RedKey();

}

-------------------------------------------------------实例2--------------------------------------------------

1.为了节省系统资源,提高系统性能,最好使用完数据库后就要关闭连接。

2.在C#语言由于GC(Garbage Collection垃圾回收机制)的存在,会在未来的某个时刻释放,它是非决定性的,并不能确定这个过程在什么时候发生。当忘记关闭数据库时,可通过using语句确保对象在退出时立即被释放,从而达到关闭数据库的作用。

mysqlCon.Close();

//通过using语句来实现数据库关闭--使用完后立即关闭

Static void Main(string[] args)

{

  string constr = "Server=localhost;user=sa;pwd=P@ss5566;database=GSClassDB";

  SqlConnection mysqlCon = new SqlConnection(constr);

  using(mysqlCon)

  {

   mysqlCon.Open();

   Console.WriteLine("数据库成功打开");

   }

  Console.RedKey();

}

using 语句不但体改了性能,而且还达到挂壁数据库的功能。还有一种通过try...catch...finally语句控制连接数据库的关闭来提高性能。

//using语句与try catch finally综合使用

try

{

  using(mysqlCon)

    {

      mysqlCon.Open();

      Console.WriteLine("数据库成功打开");

}

}

catch

{

}

finally

{

  mysqlCon.Close();

  Console.WriteLine("数据库成功打开");

}

14-4-2Command操作数据

Command常用属性

属性                                  说明

CommandText                  要下达至数据源的命令

CommandTimeout           出错时等待时间

 Command三种方法

方法                                  说明

ExecuteNonQuery()          不返回任何值,一般应用于insert,update,delete语句中

ExecuteScalar()                 返回一个值,一般用于只返回一个值的语句,如求数据统计count语句,求最大数Max语句,求最小数Min语句

ExecuteReader()    返回一个IDataReader,可用于迭代返回记录。

14-4 ADO.NET简介2的更多相关文章

  1. 14-4 ADO.NET简介

    微软数据访问方式历史阶段 ①ODBC(Open Database Connectivity)是第一个使用SQL访问不同关系数据库的访问技术.使用ODBC应用程序能够通过单一的命令操作不同的数据库,而开 ...

  2. ADO接口简介

    源地址:http://blog.csdn.net/xiaobai1593/article/details/7449151 参考: 1. 百度文库:http://wenku.baidu.com/view ...

  3. ADO.NET简介

    一.ADO.NET ADO.NET源起ADO(ActiveX Data Objects),是一个COM组件库,在NET编程环境中优先使用的数据访问接口, 提供对诸如 SQL Server 和 XML ...

  4. Go 1.14 中 Cleanup 方法简介

    目录 一般的测试 使用 defer 清除依赖 使用 Cleanup 关于t.Parallel 总结 原文:What's New In Go 1.14: Test Cleanup 单元测试通常遵循某些步 ...

  5. 14、BigInteger类简介

    BigInteger类概述 BigInteger类可以让超过Integer范围的数据进行运算,通常在对数字计算比较大的行业中应用的多一些. package com.sutaoyu.usually_cl ...

  6. VC++ ADO相关

    <VC对ADO的操作> ADO概述: ADO是Microsoft为最新和最强大的数据访问范例 OLE DB 而设计的,是一个便于使用的应用程序层接口. ADO 使您能够编写应用程序以通过 ...

  7. dicom通讯的工作方式及dicom标准简介

    本文主要讲述dicom标准及dicom通讯的工作方式.dicom全称医学数字图像与通讯 其实嘛就两个方面 那就是“存储”跟“通讯”. 文件数据组织方式  网络数据组织方式.文件数据组织方式就是解析静态 ...

  8. linux 学习 14 日志管理

    第十四讲 日志管理 14.1 日志管理-简介 .日志服务 在CentOS .x中日志服务已经由rsyslogd取代了原先的syslogd服务.rsyslogd日志服务更加先进,功能更多.但是不论该服 ...

  9. ADO.NET操作数据库(一)

    ---恢复内容开始--- [1]ADO.Net简介2015-12-07-20:16:05 ADO.Net提供对Microsoft SQL Server数据源以及通过OLE DB和XML公开的数据源的一 ...

随机推荐

  1. 转载:理解scala中的Symbol

    相信很多人和我一样,在刚接触Scala时,会觉得Symbol类型很奇怪,既然Scala中字符串都是不可变的,那么Symbol类型到底有什么作用呢? 简单来说,相比较于String类型,Symbol类型 ...

  2. 前端如何搭建vue UI组件库/封装插件(从零到有)

    需求 因之前是做外包项目居多,经常用到相同的组件,之前的办法是在一个项目中写一个组件,其他项目直接将compents下的组件复制,粘贴到项目中使用,缺点是维护起来,改一个项目,其他项目也需要修改,所以 ...

  3. nRF51822 主从断开连接Reason,HCI ERROR CODE :0x003E

    最近在给一个客户调主从一体的模块,基于S130,距离稍微远一点就会出现连接上后立马又断开连接的现象, 追踪了一下原因,给出的 HCI Error code 是 0x003E,暂且不知道这是什么鬼,查了 ...

  4. 手把手带你部署K8s二进制集群

    集群环境准备: [etcd集群证书生成] #mkdir -p k8s/{k8s-cert,etcd-cert}#cd k8s/etcd-cert/ #cat > ca-config.json & ...

  5. 年轻人的第一个 Spring Boot 应用,太爽了!

    Spring Boot 大家都知道是啥吧? 还有不知道的来看这篇扫下盲:告诉你,Spring Boot 真是个牛逼货!. 顺便再往下看,栈长给你带来年轻人的第一个 Spring Boot 应用,撸码史 ...

  6. Spring Boot 配置文件 bootstrap vs application 到底有什么区别?

    用过 Spring Boot 的都知道在 Spring Boot 中有以下两种配置文件 bootstrap (.yml 或者 .properties) application (.yml 或者 .pr ...

  7. CTF 文件包含

    目录 一.基本概念 二.本地文件包含 三.远程文件包含 四.具体场景 五.补充 一.基本概念 文件包含 将相同函数写入单独的文件中,需要使用时直接调用 文件包含漏洞 将被包含的文件设置为变量,导致客户 ...

  8. Web前端开发规范之文件存储位置规范

    文件存放位置规范 1   文件夹说明 flash存放flash文件 p_w_picpaths存放图片文件 inc存放include文件 library存放DW库文件 media存放多媒体文件 scri ...

  9. Service与Activity通信 回调方式***

    要实现service与activity的高强度通信用什么方法? service与activity之前的通信方式有很多,回调接口方式.观察者模式.广播.还有handler等,方法有很多,但要高强度地通信 ...

  10. Nginx location wildcard

    Module ngx_http_core_modulehttps://nginx.org/en/docs/http/ngx_http_core_module.html#location locatio ...