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(); } } }
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接
赞 (0)