////1.连接数据库
////连接字符串.连接字符传的作用:告诉Connection对象要连接哪个服务器,哪个数据库,用户名、密码是多少。等一些其他连接选项.
//string constr = "Data Source=zxtiger;Initial Catalog=CZBK;User Id=sa;Password=111";
////使用连接对象
//SqlConnection con = new SqlConnection(constr);
////2.打开连接
////只有调用Open方法的时候才表示开始连接数据库。
//con.Open();
////con.Close();
////数据库连接不能重复打开,需要先将上次连接关闭,然后再打开。
////每次打开连接的时候可以先判断一下,这个连接是否已经关闭,如果已经关闭,则再次打开,否则不需要再次Open
//if (con.State == ConnectionState.Closed)
//{
// //判断如果连接关了,再打开
// con.Open();
//}
//Console.WriteLine("打开连接成功!");
////3.关闭连接
//con.Close();
//Console.WriteLine("关闭连接");
////4.释放资源
////con.Dispose();
////Console.WriteLine("释放连接资源");
////如果只是调用了Close()方法,没有调用Dispose()方法,则依然可以再次调用Open()方法打开连接,因为
////连接对象没有释放资源
////如果调用了连接对象的Dispose()方法,则会将连接对象释放资源,下次不能在调用Open()了。
////con.Open();
////Console.WriteLine("又一次打开了连接。");
//Console.ReadKey();
#endregion
#region 通过using创建连接对象
//通过SQL Server的身份验证方式来登录
string constr = "Data Source=zxtiger;Initial Catalog=CZBK;User Id=sa;Password=111";
//旧写法
//string constr = "server=.;database=czbk;uid=sa;pwd=111";
//通过windows身份验证方式来登录
// string constr = "Data Source=zxtiger;Initial Catalog=CZBK;Integrated Security=True";
SqlConnection con = new SqlConnection(constr);
con.StateChange += new StateChangeEventHandler(con_StateChange);
using (con)
{
Console.WriteLine("创建连接对象");
con.Open();
Console.WriteLine("打开连接");
}
Console.ReadKey();