C# 数据库基础 第一章(3) .NET 链接到数据源

在ADO.NET 中, 使用 Connection 对象来连接到制定的数据源。

1. 使用 SQL Server.NET 数据提供程序连接到 SQL Server

(1)SQL Server 集成安全方式连接

SqlConnection conn = new SqlConnection("Data Source=localhost; Integrated Security=SSPI; Initial Catalog=myDB");
conn.Open();

(2)SQL Server 信任机制方式连接

SqlConnection conn = new SqlConnection();
conn.ConnectionString = "user id=; password=; Initial Catalog=myDB; data source=local; Connect Timeout=30";
conn.Open();

可以发现集成安全的连接方式,相对更加安全,不会在字符串中暴露用户名和密码。

2、使用连接事件

  Connection 对象有两个事件,它们可用于从数据源中检索信息性消息或者确定Connection的状态是否被更改。

事件说明
InfoMessage当从数据源中返回信息性消息时发生。信息性消息是数据源中不会引发异常的消息
StateChage当 Connection 的状态出现更改时发生
using System;
using System.Data;
using System.Data.SqlClient;


namespace _1_2SqlConnection
{
    class Program
    {
        public static void Main()
        {
            SqlConnection conn = new SqlConnection("Data Source=localhost;Integrated Security=SSPI;Initial Catalog=master");
            conn.InfoMessage += new SqlInfoMessageEventHandler(OnInfoMessage);
            conn.StateChange += new StateChangeEventHandler(OnStateChange);
            conn.Open();
            // to do some jobs. such as serch data
            conn.Close();
        }

        protected static void OnInfoMessage(object sender, SqlInfoMessageEventArgs args)
        {
            foreach (SqlError err in args.Errors)
            {
                Console.WriteLine("The {0} has received a severity {1}, state{2}error number {3}\n"
                    + "on line {4} of procedure {5} on server {6}:\n {7}", err.Source, err.Class, err.State,
                    err.Number, err.LineNumber, err.Procedure, err.Server, err.Message);
            }
        }

        protected static void OnStateChange(object sender, StateChangeEventArgs args)
        {
            Console.WriteLine("The current Connection state has changed from {0} to {1}.", args.OriginalState, args.CurrentState);
        }
    }
}

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值