以SQL Sever数据库为例,如果要连接SQL Sever数据库,必须使用System.Data.SqlClient 命名空间下的SqlConnection 类。所以首先要通过using System.Data.SqlClient 命令引用命名空间,连接数据库之后,通过调用SqlConnection 对象的Open() 方法打开数据库。通过SqlConnection 对象的State 属性判断数据库的连接状态。

连接数据库

语法如下:

public override ConnectionState State { get; }

摘要:最近在连接上执行网络操作时表示 System.Data.SqlClient.SqlConnection 的状态。

返回结果:一个 System.Data.ConnectionState 枚举。

连接已关闭。

Closed = 0,

连接处于打开状态。

Open = 1,

连接对象连接到数据源。

Connecting = 2,

连接对象执行命令。

Executing = 4,

连接对象正在检索数据。

Fetching = 8,

与数据源的连接已断开。 只有在打开连接后,才发生这种。处于此状态的连接可能关闭并重新打开。

Broken = 16

默认连接数据库

SqlConnection conn; //声明一个SqlConnection 对象

private void Form1_Load(object sender, EventArgs e)

{

//初始化时直接连接

string ConStr = "server = 神枪达的PC; user id = sa; pwd = 1; database = db_Test";

//sever= 服务器名; user id = 服务器登录名; pwd = 服务器密码; database = 数据库名

conn = new SqlConnection(ConStr);

conn.Open();

}

点击button1按钮连接数据库

private void button1_Click(object sender, EventArgs e)

{

if (textBox1.Text == "")

{

MessageBox.Show("请输入要连接的数据库名称");

}

else

{

try

{

if (conn != null) {

if (conn.State == ConnectionState.Open)

{

label1.Text = "数据库【" + textBox1.Text.Trim() + "】已经连接并打开";

//conn.Close();

}

if (conn.State == ConnectionState.Closed)

{

label1.Text = "数据库【" + textBox1.Text.Trim() + "】已经连接已关闭";

}

}

}

catch

{

MessageBox.Show("数据库连接失败");

}

}

}

关闭数据库

对数据库操作完毕后,要关闭数据库,释放占用的资源。通过调用SqlConnection 对象的Close 方法或者 Dispose 方法关闭数据库的连接,这两种的方法区别如下。

Close方法用于关闭一个连接,而Dispose方法不仅关闭一个连接,还可以清理连接所占用的资源。使用Close方法关闭连接后,可以调用Open方法打开连接,必须重新初始化连接再打开。

点击button2按钮关闭数据库

private void button2_Click(object sender, EventArgs e)

{

//Close方法用于关闭一个连接

//Dispose方法不仅关闭连接,还清理连接占用的资源

try

{

//conn.Close();

//conn.Dispose();

conn.Open();

if (conn.State == ConnectionState.Open)

{

label2.Text = "数据库【" + textBox1.Text.Trim() + "】已经连接并打开";

}

if (conn.State == ConnectionState.Closed)

{

label2.Text = "数据库【" + textBox1.Text.Trim() + "】已经连接已关闭";

}

}

catch (Exception ex)

{

richTextBox1.Text = ex.Message;

}

}

使用Close方法关闭连接

使用Dispose方法关闭并释放连接