////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();