C#操作Access数据库之一(数据库的连接)

最近使用C#对Access数据库进行操作,在网上找了许多例程,感觉还是太杂乱,所以想着自己写一个总结也方便大家共同学习进步。

功能:使用Access创建一个名为DatabaseStudent的数据库,使用C#连接数据库并利用datagridview控件将数据库内容显示出来。

这里DatabaseStudent数据库中有一个名为Student的表格,表如下图所示。

C#操作Access数据库之一(数据库的连接)_第1张图片





使用C#操作数据库记得加上

using System.IO;
using System.Data.OleDb;
using System.Data.SqlClient;

1.创建一个DatabaseOper的类,里面有对数据库进行基本操作的几个方法

使用时,在主函数中的构造函数下面声明一个oper实体

DatabaseOper opera =new DatabaseOper();

2.这里在DatabaseOper类中创建了一个连接函数

        public OleDbConnection GetConnection() 
        {
            OleDbConnection conn = null; //创建了一个连接体
            string str = "Provider=Microsoft.Jet.Oledb.4.0;";  
            str += @"Data Source=D:\Database Study\DatabaseStudent.mdb";//连接字符串
            try
            {
                conn = new OleDbConnection(str); //连接体实例化
            }

            catch (Exception ex)
            {
                throw ex;
            }
            return conn; //返回这个连接体
        }

3.将数据库中的内容在datagridview中显示

        private void DataDisplay()
        {
            string sql = "select * from Student"; //查找表Stude中所有列
            OleDbDataAdapter da = new OleDbDataAdapter(sql, conn);//实例化DataAdapter
            DataSet ds = new DataSet();
            da.Fill(ds, "Student");  //用da去填充空白的ds表格
            DataTable dt = ds.Tables["Student"]; //生成一个名为Student表dt
            dataGridView1.DataSource = dt;
        }

这一部分内容有DataAdapter,DataSet,DataTable,我刚接触时觉得很难理解,大家可以参考 http://www.cnblogs.com/rainman/archive/2012/03/13/2393975.html

这里面有很详细的解释,如果没时间看,我这里也总结一下。

DataSet是一个本地的虚拟数据库,它里面可以存放多张表格,类似于一个DataBase

使用DataSet第一步就是将OleDbDataAdapter返回的数据集(表)填充到DataSet对象中

DataTable相当于数据库中的一个表,将DataSet中某个表格赋值给DataTable

更具体的,大家多使用几次就能有深刻地体会了


4.在Show控件里调用上面两个方法就可以实现功能了

        private void button1_Click(object sender, EventArgs e)
        {
            //OleDbConnection conn = new OleDbConnection(); 
            conn = opera.GetConnection();
            conn.Open();
            try
            {
                DataDisplay();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
            finally
            {
                conn.Close();
            }
        }

最后结果显示如下。

C#操作Access数据库之一(数据库的连接)_第2张图片








可以看到,ID并没有按照升序或者降序排列,解决这个问题只需要修改上面提及的DataDisplay方法

将下列代码更改

string sql = "select * from Student"; //查找表Stude中所有列

添加oder by语句,如下所示

string sql = "select * from Student order by [ID] ";
这样显示出来的表格就会按照ID的升序排列了

你可能感兴趣的:(c#,access,datagridview,数据库连接)