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. 「SNOI2019」积木

    传送门 Description 有一块\(n\)行\(m\)列的网格板, \(n,m\)都是奇数.网格上平铺着一些\(1*2\)的积木.积木可以旋转,不能重叠.网格板上只有一格的空位. 你可以做两种操 ...

  2. chown与chmod的区别

    chown 修改文件和文件夹的用户和用户组属性 1.要修改文件hh.c的所有者.修改为sakia的这个用户所有 chown sakia hh.c 这样就把hh.c的用户访问权限应用到sakia作为所有 ...

  3. POP IM 产品分析报告

    一.   体验环境 产品名称:POP IM 软件版本:v2.4.0 手机系统:一加5T Android 9 体验时间:2019.10.22-2019.10.31 二.   产品简介 1.   产品定位 ...

  4. Python Selenium Webdriver常用方法总结

    Python Selenium Webdriver常用方法总结 常用方法函数 加载浏览器驱动: webdriver.Firefox() 打开页面:get() 关闭浏览器:quit() 最大化窗口: m ...

  5. Spring Boot-IntelliJ IDEA搭建SpringBoot

    点击create new project 点击next 这里基本都已经自动生成了,简单介绍下: Name:项目名称 Type:我们是Maven构建的,那么选择第一个Maven Project Pack ...

  6. oracle系列九 SET运算符查询

    将多个查询用 SET 操作符连接组成一个新的查询 UNION/UNION ALL INTERSECT MINUS 排序:ORDER BY UNION 操作符 UNION 操作符返回两个查询的结果集的并 ...

  7. Aspose.Words操作Word.PDF,让图片和文本垂直居中,水平居中解决方案

    x 环境 { "Aspose.Words": {"Version":"18.x"} } 需求与难题 生成试卷的时候,如果数学题目中有特殊符号 ...

  8. Swift编码总结5

    1.UIWindow属性: 1>.- (void)becomeKeyWindow;                               // override point for sub ...

  9. mysql之各版本rpm包安装

    发现每次想用mysql的rpm包直接安装的时候,都会出现找不到对应的rpm包的情况,故记录一下查找过程 进入官网->downloads->community->mysql commu ...

  10. TP-Link無線路由器(分享器)頻寬控管

    需求: 對十個終端進行頻寬的控管(有線連接),也需要無線的連線 設備: 兩台TP-Link AC750(每台四個LAN端口),一台TP-Link hub 由於資金有限,兩個路由器最多也只有8個接口,如 ...