14-4 ADO.NET简介2
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的更多相关文章
- 14-4 ADO.NET简介
微软数据访问方式历史阶段 ①ODBC(Open Database Connectivity)是第一个使用SQL访问不同关系数据库的访问技术.使用ODBC应用程序能够通过单一的命令操作不同的数据库,而开 ...
- ADO接口简介
源地址:http://blog.csdn.net/xiaobai1593/article/details/7449151 参考: 1. 百度文库:http://wenku.baidu.com/view ...
- ADO.NET简介
一.ADO.NET ADO.NET源起ADO(ActiveX Data Objects),是一个COM组件库,在NET编程环境中优先使用的数据访问接口, 提供对诸如 SQL Server 和 XML ...
- Go 1.14 中 Cleanup 方法简介
目录 一般的测试 使用 defer 清除依赖 使用 Cleanup 关于t.Parallel 总结 原文:What's New In Go 1.14: Test Cleanup 单元测试通常遵循某些步 ...
- 14、BigInteger类简介
BigInteger类概述 BigInteger类可以让超过Integer范围的数据进行运算,通常在对数字计算比较大的行业中应用的多一些. package com.sutaoyu.usually_cl ...
- VC++ ADO相关
<VC对ADO的操作> ADO概述: ADO是Microsoft为最新和最强大的数据访问范例 OLE DB 而设计的,是一个便于使用的应用程序层接口. ADO 使您能够编写应用程序以通过 ...
- dicom通讯的工作方式及dicom标准简介
本文主要讲述dicom标准及dicom通讯的工作方式.dicom全称医学数字图像与通讯 其实嘛就两个方面 那就是“存储”跟“通讯”. 文件数据组织方式 网络数据组织方式.文件数据组织方式就是解析静态 ...
- linux 学习 14 日志管理
第十四讲 日志管理 14.1 日志管理-简介 .日志服务 在CentOS .x中日志服务已经由rsyslogd取代了原先的syslogd服务.rsyslogd日志服务更加先进,功能更多.但是不论该服 ...
- ADO.NET操作数据库(一)
---恢复内容开始--- [1]ADO.Net简介2015-12-07-20:16:05 ADO.Net提供对Microsoft SQL Server数据源以及通过OLE DB和XML公开的数据源的一 ...
随机推荐
- 【POJ2993】Emag eht htiw Em Pleh
题目传送门 本题知识点:模拟(如果对国际象棋不熟悉的同学可以先百度一下) 本题跟POJ2996是逆过来的操作,如果做过[POJ2996]的同学就不会对题意不理解的了. (以下默认您已AC[POJ299 ...
- Linux进阶之Shell编程
1.什么是Shell Shell是一个命名行解释器,它为用户提供一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动.挂起.停止甚至是编写一些程序. 2.Shell脚本 ...
- 微信小程序 报错:Setting data field "xxx" to undefined is invalid
通过网络请求获取的数据,当返回的数据没有xxx(变量名)这个变量时,此时xxx是undefined 若使用setData进行赋值,则会报如下的错误: Setting data field " ...
- 重新学习MySQL数据库12:从实践sql语句优化开始
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/a724888/article/details/79394168 本文不堆叠网上海量的sql优化技巧或 ...
- [转]Windows内存堆内容整理总结
在系统安全研究中,堆,是一个极其重要的内存区域以及研究的热点.堆,区别于栈区.全局数据区以及代码区,它的主要作用是允许程序在运行时动态地申请某个大小的内存空间.本文将从宏观到微观,简单梳理总结一下Wi ...
- Deep High-Resolution Representation Learning for Human Pose Estimation
Deep High-Resolution Representation Learning for Human Pose Estimation 2019-08-30 22:05:59 Paper: CV ...
- 安装Nvidia显卡驱动、CUDA和cuDNN的方法(jsxyhelu整编)
Nvidia显卡驱动.CUDA和cuDNN一般都是同时安装的,这里整理的是我成功运行的最简单的方法. 一.Nvidia显卡驱动 1.1 在可以进入图形界面的情况下 直接在"软件和更新&quo ...
- 【面试】c++单例模式
1. 单例模式 #include <iostream> using namespace std; class CSingleton { private: CSingleton() {} / ...
- Jmeter获取 json字符的另外一种写法
在jmeter使用过程中,我们经常会看到接口返回数据类型为application/json,也就时我们常说的json格式. 而在功能测试时,我们经常会要对它的结果进行断言,确认结果是否与预期一致,有时 ...
- 转 Shell判断字符串包含关系的几种方法
https://blog.csdn.net/rznice/article/details/71086839 Shell中判断字符串包含关系的方法: 1.通过grep来判断:12str1="a ...