连接数据库:Connection对象(一)

来源:互联网 发布:cicret软件 编辑:程序博客网 时间:2024/06/03 14:33

原文书籍:《C#从入门到精通》

Connection对象是一个连接对象,主要功能是建立与物理数据库的连接。

1、连接数据库

引用命名空间 using System.Data.SqlClient

private void button1_Click(object sender, EventArgs e){    if (textBox1.Text == "")                       //判断是否输入数据库名称    {        MessageBox.Show("请输入要连接数据库名称"); //弹出提示信息    }    else                                           //否则    {        try        {            //声明一个字符串,用于存储连接数据库字符串            string ConStr = "server=.;database=" + textBox1.Text.Trim() + ";uid=sa;pwd=123";            //创建一个SqlConnection对象            SqlConnection conn = new SqlConnection(ConStr);            conn.Open();                             //打开连接            if (conn.State == ConnectionState.Open)  //判断当前连接的状态            {                //显示状态信息                label2.Text = "数据库【" + textBox1.Text.Trim() + "】已经连接并打开";            }        }        catch        {            MessageBox.Show("连接数据库失败");       //出现异常弹出提示        }    }}

程序的运行效果如图所示:
这里写图片描述

2、关闭连接

当对数据库操作完毕后,要关闭与数据库的连接,释放占用的资源。可以通过调用SqlConnection对象的Close方法或Dispose方法关闭与数据库的连接。
这两种方法的主要区别是:Close方法用于关闭一个连接,而Dispose方法不仅关闭一个连接,而且还清理连接所占用的资源。当使用Close方法关闭连接后,可以再调用Open方法打开连接,不会产生任何错误。而如果使用Dispose方法关闭连接,就不可以再次直接用Open方法打开连接,必须再次重新初始化连接再打开。

SqlConnection conn;                                     //声明一个SqlConnection对象private void button1_Click(object sender, EventArgs e){    if (textBox1.Text == "")                            //判断是否输入数据库名称    {        MessageBox.Show("请输入要连接数据库名称");      //弹出提示信息    }    else                                                //否则    {        try        {            //声明一个字符串,用于存储连接数据库字符串            string ConStr = "server=.;database=" + textBox1.Text.Trim() + ";uid=sa;pwd=123";            //创建一个SqlConnection对象            conn = new SqlConnection(ConStr);            conn.Open();                                 //打开连接            if (conn.State == ConnectionState.Open)      //判断当前连接的状态            {                //显示状态信息                MessageBox.Show("连接成功");            }        }        catch(Exception ex)        {            MessageBox.Show(ex.Message);                 //出现异常弹出提示            textBox1.Text = "";                          //清空文本框        }    }}private void button2_Click(object sender, EventArgs e){    try    {        string str = "";                                   //声明一个字符串变量        conn.Close();                                      //使用Close方法关闭连接        if (conn.State == ConnectionState.Closed)          //判断当前连接是否关闭        {            str = "数据库已经成功关闭\n";                  //如果关闭则弹出提示          }        conn.Open();                                       //重新打开连接        if (conn.State == ConnectionState.Open)            //判断当前连接是否打开        {            str += "数据库已经成功打开\n";                  //弹出提示          }        richTextBox1.Text = str;                            //向richTextBox1中添加提示信息    }    catch (Exception ex)    {        richTextBox1.Text = ex.Message;                     //出现异常,将异常添加到richTextBox1中    }}private void button3_Click(object sender, EventArgs e){    try    {        conn.Dispose();                                     //使用Dispose方法关闭连接        conn.Open();                                        //重新使用Open方法打开会出现异常    }    catch (Exception ex)    {        richTextBox1.Text = ex.Message;                     //出现异常,将异常添加到richTextBox1中    }}

程序运行结果如图所示:
这里写图片描述 这里写图片描述

说明:在编写应用程序时,对数据库操作完成后,要及时关闭数据库的连接,以防止在对数据库进行其他操作时数据库被占用。

原创粉丝点击