您的位置:首页 > 数据库

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

2017-11-21 10:58 375 查看
最近使用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的升序排列了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息