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

来源:互联网 发布:香港电视直播破解软件 编辑:程序博客网 时间:2024/06/06 21:42

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

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

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





使用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();            }        }

最后结果显示如下。









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

将下列代码更改

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

添加oder by语句,如下所示

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

原创粉丝点击