数据库——用Connection对象连接数据库
以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方法关闭并释放连接