C# winform读写Access数据库简单示例
最近在做使用C#访问Access数据库的项目,之前没有使用过Access,所以中间查了不少资料,对相关操作有了一个简单的印象。本文简单介绍如何使用C#读取Access数据,并将修改重新保存回Access。开发环境(winform):1. visual studio 20192. .net framework 4.7.23. access 20074. access数据表tn_member,表结构内
最近在做使用C#访问Access数据库的项目,之前没有使用过Access,所以中间查了不少资料,对相关操作有了一个简单的印象。本文简单介绍如何使用C#读取Access数据,并将修改重新保存回Access。
开发环境(winform):
1. visual studio 2019
2. .net framework 4.7.2
3. access 2007
4. access数据表tn_member,表结构内容如下图:

几个类介绍:
1. OleDBConnection:表示与数据源的开放连接,这个类就像access数据库与外部的一个接口,外部程序的操作都通过此接口
2. OleDbDataAdapter:用于从access数据源检索数据并填充 DataSet 中的表,同时 DataAdapter 还将对 DataSet 的更改解析回数据源。
3. OleDbCommandBuilder:自动生成用于协调所做的更改命令,它能够根据OleDbDataAdapter的SelectCommand属性自动的生成InsertCommand,UpdateCommand与DeleteCommand等命令。
它们的关系可以用下图表示:

读写流程:
1. 使用连接字符串,构造OleDbConnection对象,同时调用open方法打开连接
2. 使用connection对象,构造OleDbDataAdapter适配器对象
3. 构造OleDbCommandBuilder对象,并将此对象和OleDbDataAdapter适配器对象关联
4. 使用OleDbDataAdapter适配器对象填充DataTable或将变动保存到Access数据库
具体实例代码如下:
public partial class Form1 : Form
{
// 连接字符串
private string connStr = @"Provider= Microsoft.ACE.OLEDB.12.0;Jet OLEDB:DataBase Password=;Data Source=E:\db\data.accdb;";
//声明
private OleDbConnection conn = null;
private OleDbDataAdapter adapter = null;
private DataTable dt = null;
public Form1()
{
InitializeComponent();
}
private void btn_read_Click(object sender, EventArgs e)
{
// 连接数据库,需要传递连接字符串
conn = new OleDbConnection(connStr);
// 打开数据库连接
conn.Open();
// "Select * from tn_member"为SQL语句,意思是从数据库中选择叫做“tn_member”的表,“conn”为连接
adapter = new OleDbDataAdapter("Select * from tn_member", conn);
// CommandBuilder对应的是数据适配器,需要传递参数
var cmd = new OleDbCommandBuilder(adapter);
// 在内存中创建一个DataTable,用来存放、修改数据库表
dt = new DataTable();
// 通过适配器把表的数据填充到内存dt
adapter.Fill(dt);
// 把数据显示到界面
dataGridView1.DataSource = dt.DefaultView;
}
private void btn_write_Click(object sender, EventArgs e)
{
try
{
// 按下按钮后,把内存中修改的部分传递给适配器,再通过适配器传递给数据库
adapter.Update(dt);
// 清除内存中存放的表数据
dt.Clear();
// 重新读取已经改变过的表数据
adapter.Fill(dt);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
}
}
}
运行代码,点击读取access按钮,读取数据,如下图:

然后修改name字段的值,点击写access按钮,可以看到结果如下:
winform界面:

access数据表:

更多推荐




所有评论(0)