基于Access数据库的RW
一、主界面
二、查询
private string connStr = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\10682346\Downloads\TD.accdb";//此处为前面复制出来的代码
//声明
private OleDbConnection conn = null;
private OleDbDataAdapter adapter = null;
private DataTable dt = null;
//查询
private void btnRead_Click(object sender, EventArgs e)
{
// 连接数据库,需要传递连接字符串
conn = new OleDbConnection(connStr);
// 打开数据库连接
conn.Open();
// "Select * from 表1"为SQL语句,意思是从数据库中选择叫做“表1”的表,“conn”为连接
adapter = new OleDbDataAdapter("Select * from TDMSN", conn);
// CommandBuilder对应的是数据适配器,需要传递参数
var cmd = new OleDbCommandBuilder(adapter);
// 在内存中创建一个DataTable,用来存放、修改数据库表
dt = new DataTable();
// 通过适配器把表的数据填充到内存dt
adapter.Fill(dt);
// 把数据显示到界面
dataGridView1.DataSource = dt.DefaultView;
//设置列宽,这里写死的,根据实际情况进行设置
for (int i = 0; i < 5; i++)
{
dataGridView1.Columns[i].Width = 140;//设置列宽度
}
}
三、写入
//写入
private void btnExcute_Click(object sender, EventArgs e)
{
string sql = tbCondition.Text;
OleDbCommand comm = new OleDbCommand(sql, conn);
comm.ExecuteNonQuery();
}
private void Form1_Load(object sender, EventArgs e)
{
tbCondition.Text = "INSERT INTO TDMSN VALUES (2,'123','123','123',2);";
}
四、更新界面
//更新界面
private void btnWrite_Click(object sender, EventArgs e)
{
try
{
// 按下按钮后,把内存中修改的部分传递给适配器,再通过适配器传递给数据库
adapter.Update(dt);
// 清除内存中存放的表数据
dt.Clear();
// 重新读取已经改变过的表数据
adapter.Fill(dt);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
}
}
本文来自博客园,作者:码农阿亮,转载请注明原文链接:https://www.cnblogs.com/wml-it/p/16136120.html
技术的发展日新月异,随着时间推移,无法保证本博客所有内容的正确性。如有误导,请大家见谅,欢迎评论区指正!
开源库地址,欢迎点亮:
GitHub:https://github.com/ITMingliang
Gitee: https://gitee.com/mingliang_it
GitLab: https://gitlab.com/ITMingliang
建群声明: 本着技术在于分享,方便大家交流学习的初心,特此建立【编程内功修炼交流群】,为大家答疑解惑。热烈欢迎各位爱交流学习的程序员进群,也希望进群的大佬能不吝分享自己遇到的技术问题和学习心得!进群方式:扫码关注公众号,后台回复【进群】。