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

     在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来确保资源的释放。

  

时间: 2024-10-09 18:08:27

ADO.NET——Connection(连接数据库)的相关文章

ADO连接数据库字符串大全(VP,Excel,文本,Sybase,.NET等)

ado|excel|连接数据库|字符串 ADO连接数据库字符串大全(VP,Excel,文本,Sybase,.NET等) This page contains sample ADO connection strings for ODBC DSN / DSN-Less,OLE DB Providers, Remote Data Services (RDS), MS Remote, MS DataShape. Also included are ADO.NET connection strings f

ADO连接数据库字符串大全

ado|连接数据库|字符串 ADO连接数据库字符串大全 This page contains sample ADO connection strings for ODBC DSN / DSN-Less, OLE DB Providers, Remote Data Services (RDS), MS Remote, MS DataShape. Also included are ADO.NET connection strings for each .NET Managed Provider (

ADO Connection 对象

ADO Connection 对象 连接对象 ADO连接对象是用来建立一个开放的连接到数据源.通过这一点,你可以访问和操纵数据库. 如果你想获得一个数据库多次,你应该建立一个连接使用连接对象.您还可以连接到一个数据库,通过一个连接字符串通过一个命令或Recordset对象.然而,这种类型的连接不仅有利于一个具体的,单一的查询. 的ProgID set objConnection=Server.CreateObject("ADODB.connection") 的ProgID 设置objC

怎样在PHP中通过ADO调用Access数据库和COM程序

access|ado|程序|数据|数据库 PHP4已经支持Microsoft的COM技术.然而文档中在COM部分却提得很少. 这儿是几个我试过的例子.希望这些给你一些概念.注意的是这些只能运行在32位的Microsoft Windows平台下. 用php激活ADO ADO是Microsoft的数据库对象技术.ADO里面包括连接数据库的对象,从查询语句中返回数据的记录集对象和表现数据元素的字段对象. 许多数据库不直接支持ADO.代之的是很多数据库支持低两级的Microsoft数据库技术:ODBC和

用VC轻松实现ADO.net

本文编译器使用Visual Studio 2005,数据库使用SQL Server 2005 express,.net版本为2.0 一.实现模型 ADO.net对每种数据库都提供了专门的连接字,不过每种的连接方式都差不多,所以这里我只用SQL Server来做.我在连接数据库时使用了以下几个步骤: 1.连接数据源 使用Connection对象来连接,对于具体的数据库可用具体的对象,如SQL Server可用SqlConnection对象,不过要注意版本问题. 2.检索需要的数据 使用DataAd

ADO.NET——Command(执行SQL) & DataReader(读取数据库)

    一,关于两个对象的基础知识    1,Command         Command对象主要用于对数据源执行SQL命令并返回结果.       ADO.NET提供了Connection来连接数据库,同时也提供了Command对象来查询数据库.同Connection对象一样,Command也有两种:OleDbCommand和SqlCommand.其区别同Connection对象.                Command对象有一个属性:CommandType(sql语句或者存储过程):

怎样在PHP中通过ADO调用Asscess数据库和COM程序_php基础

作者: John Lim. 翻译: znsoft(http://www.phpease.com znsoftm@21cn.com) PHP4已经支持Microsoft的COM技术.然而文档中在COM部分却提得很少. 这儿是几个我试过的例子.希望这些给你一些概念.注意的是这些只能运行在32位的Microsoft Windows平台下. 用php激活ADO ADO是Microsoft的数据库对象技术.ADO里面包括连接数据库的对象,从查询语句中返回数据的记录集对象和表现数据元素的字段对象. 许多数据

VB语言使用ADO连接、操作SQLServer数据库教程_vb

几年前学过的VB几乎忘光了,这几天复习了下.VB连接ADO数据库并不是非常难. 连接第一步(要仔细看) 对于小白来讲,这里的教程最详细,连接ADO数据库第一步,要添加什么部件呢?全称是Microsoft ADO Data Control 6.0 (SP6) (OLEDB) 部件. 在Microsoft ADO Data Control 6.0 (SP6) (OLEDB)部件里有一个名叫:Adodc数据控件,要将它添加.在Adodc数据控件数据位置中找到ACCES. 控件引用的方法(值指的是姓名)

解决方案-vc++ 采用ado方式连接access数据库

问题描述 vc++ 采用ado方式连接access数据库 连接数据库代码如下,当解决方案平台采用win32时,数据库连接正确,当采用x64时抛出异常(0x800aA0E7A)请问在x64下如何连接access数据库? #import ""c:program filescommon filessystemadomsado15.dll"" no_namespace rename(""EOF""adoEOF"")