C#中通过使用Connection类来实现打开/关闭数据库的代码实例
作者:Czhenya 发布时间:2024-01-21 22:36:55
标签:c#,connection,数据库
为了访问数据库,就要提供数据库连接类,在C#中,是通过Connection类来实现的
四种类型的连接方式
SQLConnection
ADOConnection
OractleConnection
ODBCConnection
以SQLConnection方式实现数据库的连接:
SQL Server数据库
windows 身份信息验证
步骤:
引用命名空间 using System.Data.SqlClient;
将连接方法声明值字符串中
创建Connection对象
调用方法
为了节省系统资源提高系统性能,最好使用完数据库就关闭连接,在C#语言中由于GC(垃圾回收机制)的存在,会在以后的某个时刻释放资源,它是非决定性的,并不能确定这个过程在什么时候发生,当忘记关闭数据库是可以using语句确保对象退出时立即被释放,从而达到关闭数据库的作用,还有一种通过try..catch..final..
语句控制连接数据库的关闭来提高性能
代码实现如下:
using System;
using System.Data.SqlClient; //引入命名空间
namespace Csharpone
{
class Program
{
static void Main(string[] args)
{
//windows 身份信息验证 下面的csharp01为新建的数据库名称
string constr = "Server.;integrated security=SSPI;Initial Catalog=csharp01";
SqlConnection mysqlCon = new SqlConnection(constr); //实例化
mysqlCon.Open(); //打开数据库
Console.WriteLine("数据库打开"); //正常打印说明没问题,否则会抛出异常
//SQ验证方式 name是你设置的数据库的用户名,pwd是密码 csharp02是数据库名称
string constr1 = "Server.;user=name; pwd=mima; database=csharp02";
SqlConnection mysqlCon1 = new SqlConnection(constr1); //实例化
mysqlCon1.Open(); //打开数据库
Console.WriteLine("SQL方式 数据库打开");
/*通过using语句实现数据库的关闭
using (mysqlCon1) {
mysqlCon1.Open();
Console.WriteLine("数据成功打开"); //执行完立即关闭
}
//通过try..catch..finally..
try
{
mysqlCon.Open();
Console.WriteLine("数据库关闭");
}
catch
{
}
finally
{
mysqlCon.Close();
Console.WriteLine("关闭数据库");
}*/
//以上两种方式结合使用,确保数据库占用资源得到释放
try
{
using (mysqlCon)
{
mysqlCon.Open();
Console.WriteLine("打开数据库");
}
}
catch
{
}
finally
{
mysqlCon.Close();
Console.WriteLine("关闭数据库");
}
Console.Read();
}
}
}
MySQL数据库代码如下:
using System;
using MySql.Data.MySqlClient; //导入引用,并且添加命名空间
namespace CSharp连接Mysql
{
class Program
{
static void Main(string[] args)
{
string connectStr = "server=localhost;port=3306;database=czhenya01;user=root;password=123456;";
//并没有建立数据库连接
MySqlConnection conn = new MySqlConnection(connectStr);
try
{
conn.Open(); //建立连接,打开数据库
Console.WriteLine("打开数据库成功");
}catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
finally
{
conn.Close(); //关闭连接
}
Console.ReadKey();
}
}
}
来源:https://blog.csdn.net/Czhenya/article/details/77430214


猜你喜欢
- 在Python中,代码越少越好、越简单越好。基于这一思想,需要掌握Python中非常有用的高级特性,1行代码能实现的功能,决不写5行代码。代
- 本文实例讲述了Python3.5集合及其常见运算。分享给大家供大家参考,具体如下:1、集合的定义:集合是一个无序的、无重复的数据的数据组合。
- 前言Pandas是python的一个数据分析包,提供了大量的快速便捷处理数据的函数和方法。其中Pandas定义了Series 和 DataF
- 首先明确为什么要使用分页查询,因为数据庞大,查询不可能全部显示在页面上,如果全部显示在页面上,也会造成查询速度慢的情况,所以分页查询解决了①
- Python的优点和缺点本节内容如下:Python的优点Python的缺点使用Python的知名网站Python的优点1. 简单 Pytho
- 研究了一段时间酷狗音乐的接口,完美破解了其vip音乐下载方式,想着能更好的追求开源,故写下此篇文章,本文仅供学习参考。虽然没什么
- 今天在一个QQ群中看到有人在问一个进度条的实现方式,当时因为工作时间,需求相对也比较紧,只是简单的说了一下可以通过CSS的边框属性和背景属性
- 1、什么是双向数据绑定Vue.js是一个MV VM框架, 即数据双向绑定, 即当数据发生变化的时候, 视图也就发生变化, 当视图发生变化的时
- 在 Web 应用中,有时需要在响应请求前或者响应请求后做一些处理,为了让每个视图函数避免编写重复功能的代码,Flask 提供了请求钩子,它们
- 前言:目前我们使用的绝大多数计算机程序,无论是办公软件,浏览器,甚至游戏、视频都是通过菜单界面系统配置的,它几乎成了我们使用机器的默认方式。
- 前言以前在写C/C++代码时,可以在代码中预定义一些版本宏定义,然后再编译时从外部传入数据作为版本号。 golang代码不支持宏定义,如果每
- 版本说明Python 3.0在设计的时候没有考虑向较早版本相容Python 2.6作为一个过渡版本,基本使用了Python 2.x的语法和库
- Vue中keep-alive的使用我总结的有两种方式应用:首先简述一下keep-alive的作用,kee-alive可以缓存不活动的的组件。
- Python中的ctypes模块可能是Python调用C方法中最简单的一种。ctypes模块提供了和C语言兼容的数据类型和函数来加载dll文
- 如下所示:后台关键代码:data = {}#keys与values分别为该数据的键数组,值的数组。这里循环为字典添加对应键值for k, v
- 阐述写SQL时本想通过 A left B join on and 后面的条件查出的两条记录变成一条,奈何发现还是有两条。后来发现 join
- 首先介绍两种编码方式硬编码和onehot编码,在模型训练所需要数据中,特征要么为连续,要么为离散特征,对于那些值为非数字的离散特征,我们要么
- 刷抖音的时候发现一个老师在用的课堂点名系统。用PyQt5实现了一下同款,导入学生姓名,测试了一下完美运行。操作效果展示:完整源代码块还是放在
- 类:定义一件事物的抽象特点。对象:类的 实例。成员变量 − 定义在类内部的变量。该变量的值对外是不可见的,但是可以通过成
- 本文介绍了Python日期的加减等操作的示例,分享给大家,也给自己留个笔记1. 日期输出格式化所有日期、时间的api都在datetime模块