ADO.NET连接SQLServer数据库

引入ADO.NET组件命名空间 引入SQL数据提供程序(包括SQL版本的核心对象)

ADO.NET连接SQLServer数据库_第1张图片


创建SQL版本连接实例核心对象,用于连接数据源

ADO.NET连接SQLServer数据库_第2张图片


将数据源连接必要信息以字符串形式赋给ConectionString属性

这里写图片描述


State属性用于查看当前连接的状态

这里写图片描述


打开当前数据库

这里写图片描述


关闭当前数据库

这里写图片描述


控制台查看

ADO.NET连接SQLServer数据库_第3张图片


State_Change事件在连接状态改变时触发

ADO.NET连接SQLServer数据库_第4张图片

ADO.NET连接SQLServer数据库_第5张图片


代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;              //引入ADO.NET组件命名空间
using System.Data.SqlClient;    //引入SQL数据提供程序(包括SQL版本的核心对象)

namespace ADO.NETyouping
{
    class Program
    {
        static void Main(string[] args)
        {
            //测试数据库连接
            TestingConnection();
        }



        //测试数据库连接
        private static void TestingConnection()
        {
            //创建SQL版本连接实例核心对象,用于连接数据源

            SqlConnection conn = new SqlConnection();
            //将数据源连接必要信息以字符串形式赋给ConectionString属性
            conn.ConnectionString = @"Server=.;DataBase=StudentManageDB;Uid=sa;Pwd=aaa999a9";

            //State属性用于查看当前连接的状态
            Console.WriteLine(conn.State);

            //打开当前数据库
            conn.Open();
            Console.WriteLine(conn.State);

            //关闭当前数据库
            conn.Close();
            Console.WriteLine(conn.State);
        }
    }
}

## 连接测试(带有try….catch) ##

ADO.NET连接SQLServer数据库_第6张图片

ADO.NET连接SQLServer数据库_第7张图片

代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;              //引入ADO.NET组件命名空间
using System.Data.SqlClient;    //引入SQL数据提供程序(包括SQL版本的核心对象)

namespace ADO.NETyouping
{
    class Program
    {
        static void Main(string[] args)
        {
            //测试数据库连接          
            TestingConnectionWithTryCatch();
        }
        //连接测试(带有try....catch)
        private static void TestingConnectionWithTryCatch()
        {
            SqlConnection conn = new SqlConnection();
            conn.ConnectionString = @"Server=.;DataBase=StudentManage;Uid=sa;Pwd=aaa999a98;";
            try
            {
                conn.Open();
                Console.WriteLine("链接状态:{0}",conn.State);
            }
            catch (SqlException ex)
            {
                Console.WriteLine("数据库链接打开遇到异常!");
                Console.WriteLine(ex.Message);
                throw;
            }
            finally
            {
                if(conn.State != ConnectionState.Closed)
                {
                    conn.Close();
                }
            }

        }

使用using确保链接资源释放

ADO.NET连接SQLServer数据库_第8张图片

ADO.NET连接SQLServer数据库_第9张图片

代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;              //引入ADO.NET组件命名空间
using System.Data.SqlClient;    //引入SQL数据提供程序(包括SQL版本的核心对象)

namespace ADO.NETyouping
{
    class Program
    {
        static void Main(string[] args)
        {
            //测试数据库连接
            //TestingConnection();

            // TestingConnectionWithTryCatch();

            TestingConnetionWithUsing();
        }
        //使用using确保链接资源释放
        private static void TestingConnetionWithUsing()
        {
            using (SqlConnection conn = new SqlConnection())
            {
                conn.ConnectionString = @"Server=.;DataBase=StudentManageDB;";
                    conn.ConnectionString +=@"Uid=sa;Pwd=aaa999a9";
                conn.Open();
                Console.WriteLine(conn.State);

            }
        }

全部代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;              //引入ADO.NET组件命名空间
using System.Data.SqlClient;    //引入SQL数据提供程序(包括SQL版本的核心对象)

namespace ADO.NETyouping
{
    class Program
    {
        static void Main(string[] args)
        {
            //测试数据库连接
            //TestingConnection();

            // TestingConnectionWithTryCatch();

            TestingConnetionWithUsing();
        }
        //使用using确保链接资源释放
        private static void TestingConnetionWithUsing()
        {
            using (SqlConnection conn = new SqlConnection())
            {
                conn.ConnectionString = @"Server=.;DataBase=StudentManageDB;";
                    conn.ConnectionString +=@"Uid=sa;Pwd=aaa999a9";
                conn.Open();
                Console.WriteLine(conn.State);

            }
        }

        //连接测试(带有try....catch)
        private static void TestingConnectionWithTryCatch()
        {
            SqlConnection conn = new SqlConnection();
            conn.ConnectionString = @"Server=.;DataBase=StudentManage;Uid=sa;Pwd=aaa999a98;";
            try
            {
                conn.Open();
                Console.WriteLine("链接状态:{0}",conn.State);
            }
            catch (SqlException ex)
            {
                Console.WriteLine("数据库链接打开遇到异常!");
                Console.WriteLine(ex.Message);
                throw;
            }
            finally
            {
                if(conn.State != ConnectionState.Closed)
                {
                    conn.Close();
                }
            }

        }



        //测试数据库连接
        private static void TestingConnection()
        {
            //创建SQL版本连接实例核心对象,用于连接数据源

            SqlConnection conn = new SqlConnection();
            //将数据源连接必要信息以字符串形式赋给ConectionString属性
            conn.ConnectionString = @"Server=.;DataBase=StudentManageDB;Uid=sa;Pwd=aaa999a9";

            //State属性用于查看当前连接的状态
            //Console.WriteLine(conn.State);

            //State_Change事件在连接状态改变时触发
            conn.StateChange += Conn_StateChange;

            //打开当前数据库
            conn.Open();
            //Console.WriteLine(conn.State);

            //关闭当前数据库
            conn.Close();
            //Console.WriteLine(conn.State);


        }

        private static void Conn_StateChange(object sender, StateChangeEventArgs e)
        {
            Console.WriteLine("当前连接状态:{0}",e.CurrentState.ToString());
        }
    }
}

你可能感兴趣的:(C#入门)