ADO.NET——Connection(连接数据库)-阿里云开发者社区

开发者社区> soledad_lhc> 正文

ADO.NET——Connection(连接数据库)

简介:      在ADO.NET对象模型中,Connection对象代表了与数据源之间的连接。     .NET框架中有两个Connection对象:一个是OleDbConnection,用于大多数的数据库连接,一个是SqlConnection,是MS开发的专门用于针对SQLServer的连接。
+关注继续查看

     在ADO.NET对象模型中,Connection对象代表了与数据源之间的连接。

    .NET框架中有两个Connection对象:一个是OleDbConnection,用于大多数的数据库连接,一个是SqlConnection,是MS开发的专门用于针对SQLServer的连接。在创建Connection对象之前,你必须先引用System.Data.OleDb或者System.Data.SqlClient和System.Data三个名空间.


一,基本连接示例


   对于连接对象的使用,可以类比VB中ADO的使用。现在来看一段连接的代码,来认识一下如何对数据库进行连接的。

   如图,建个小界面:

   


然后在连接按钮的事件中加入如下代码:

string strConn = "database=Login;server=localhost;UID=sa;PWD=123456";  //连接字符串
            SqlConnection conn = new SqlConnection(strConn); //建立连接
            conn.Open();  //打开连接

            //判断连接状态
            if (conn.State == ConnectionState.Open)
            {
                lblState.Text = "连接已经打开啦~~~~";
            }
            else
            {
                lblState.Text = "抱歉,未能连接上数据库";
            }

            conn.Close();  //关闭连接
            conn.Dispose();  //释放资源

by the way,别忘了,using ...



and then, Ctrl+F5:

 


二,使用高效的ADO连接


      在程序运行的过程中,往往可能会出现各种错误,比如,当刚连上数据库,可能因为某种原因,系统崩溃,结果导致connection没有close,此后,如果再进行连接的话,此时就会提示连接没有关闭。为了防止这种问题,这里,我们有两种解决方法。

  1,使用try...Catch...finally

     将上面的程序进行改写:

            string strConn = "database=Login;server=localhost;UID=sa;PWD=123456";  //链接字符串
            SqlConnection conn = new SqlConnection(strConn); //建立连接

            try
            {
                conn.Open();  //打开连接
                
            }
            catch (SqlException error)
            {
                //此时将错误写入日志文件
                MessageBox.Show("抱歉,程序发生错误");
            }
            finally
            {
                //判断连接状态
                if (conn.State == ConnectionState.Open)
                {
                    lblState.Text = "连接已经打开啦~~~~";
                }
                else
                {
                    lblState.Text = "抱歉,未能连接上数据库";
                }
                conn.Close();  //关闭连接
                conn.Dispose();  //释放资源
 
            }

2,使用using{............}

using (SqlConnection conn = new SqlConnection(strConn)) //建立连接
            {
                conn.Open();  //打开连接

                //判断连接状态
                if (conn.State == ConnectionState.Open)
                {
                    lblState.Text = "连接已经打开啦~~~~";
                }
                else
                {
                    lblState.Text = "抱歉,未能连接上数据库";
                }
            }


     在此处,用using来确保资源的释放。

     当然,也可以这两种方法结合起来使用,用try...catch..捕捉异常,让后写入日志,用using来确保资源的释放。



  




版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
.NET数据库编程求索之路--6.使用ADO.NET实现(三层架构篇-使用List传递数据-基于存储过程)(2)
6.使用ADO.NET实现(三层架构篇-使用List传递数据-基于存储过程)(2)      【 夏春涛 email: xchuntao@163.com  blog: http://www.cnblogs.
751 0
.NET数据库编程求索之路--9.使用EF实现
9.使用EF实现   源码下载: /Files/SummerRain/NetDbDevRoad/9使用EF实现1自动ORM简单三层.rar /Files/SummerRain/NetDbDevRoad/9使用EF实现2自动纯POCO代理简单三层.
646 0
再不懂时序就 OUT 啦!,DBengine 排名第一时序数据库,阿里云数据库 InfluxDB 正式商业化!
阿里云数据库 InfluxDB® 版已于近日正式启动商业化 。 InfluxDB 是 DBengine 网站时序数据库类目排名第一的数据库产品,广泛应用于互联网基础资源监控,容器监控,业务运营监控分析,物联网设备远程实时监控,工业安全生产监控,生产质量评估和故障回溯。
3010 0
eclipse连接远程hadoop集群开发时报错
<div style="font-family:Arial; font-size:14px; line-height:26px"> <div><strong>eclipse连接远程hadoop集群开发时报错</strong></div> <div><br></div> <div>Exception in thread "main" org.apache.hadoop.security
1121 0
OAF_JDBC系列2 - 通过JDBC连接SQLSERVER数据库DriverManager.getConnection
d          try{          Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");          String connectionSQLServer = "jdbc:sqlserver://gavinmysql.
693 0
.NET数据库编程求索之路--7.使用ADO.NET实现(工厂模式-实现多数据库切换)(2)
7.使用ADO.NET实现(工厂模式-实现多数据库切换)(2)     7.3 数据访问层工厂HomeShop.DALFactory      1 using System; 2 using System.
870 0
解决伪分布式hadoop部署hive后,无法通过beeline连接
应用场景 当在伪分布式hadoop2.6.0集群中,部署添加了hive2.1.1后,发现输入hive命令,可以进行连接hive,但是用beeline连接连不上。
1816 0
.NET数据库编程求索之路--7.使用ADO.NET实现(工厂模式-实现多数据库切换)(4)
7.使用ADO.NET实现(工厂模式-实现多数据库切换)(4) 7.7 业务逻辑层HomeShop.BLL OrderBiz.cs View Code  1 using System; 2 using System.
757 0
.NET数据库编程求索之路--7.使用ADO.NET实现(工厂模式-实现多数据库切换)(3)
7.使用ADO.NET实现(工厂模式-实现多数据库切换)(3)   7.5 SQL数据访问层HomeShop.DALOfSql   OrderDAO.cs View Code using System;using System.
661 0
+关注
soledad_lhc
csdn博客:http://blog.csdn.net/lhc1105
508
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载