C#对微软Access数据库操作
一、
所需环境:VS2015(楼主所用的版本),Microsoft Access 数据库
二、
首先我们创建一个WinForm窗体
Microsoft Access创建一个自己想要的文件格式
点击创建表
一切准备就绪!准备开干!!!
下面我们测试一下用VS能不能连接上这个数据库,操作如下
打开VS的工具,第一个选项,连接到数据库
点击浏览,找到你刚才创建的数据库。点击测试连接
会出现
下面也是最重要的部分,点击高级,楼主红色箭头所指示的部分。复制这一行数下来。
比如楼主的是Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Administrator\Desktop\123\123.accdb
前置工作完成。
三、
对于微软的Assess数据库,需要我们引入如下的头文件
using System;
using System.Data;
using System.Data.OleDb;
首先,先来添加一点数据吧
1.添加数据库
private void Add_Click(object sender, EventArgs e)
{
OleDbConnection oldconnection = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Administrator\Desktop\123\123.accdb");
oldconnection.Open();
string sqlcmd = string.Format("insert into Date1(姓名,性别,学号) values('{0}','{1}','{2}') ",textBox1.Text,textBox2.Text,textBox3.Text);
//在内存中创建一个DataTable,用来存放、 修改数据库表
DataTable dt = new DataTable();
OleDbDataAdapter adt = new OleDbDataAdapter(sqlcmd, oldconnection);
//insert into 表名(字段1,字段2...)values('字段一内容','字段二内容'),上一行+用于字符串的连接,如果想用textBox传值,可用
adt.Fill(dt);
}
运行结果
哇偶,添加进去啦!!成功
2.数据的查询
SQL语句楼主就不详细的说了,只是说一下简单的应用。
楼主就用姓名查找性别跟学号吧!
贴代码如下
private void Find_Click(object sender, EventArgs e)
{
OleDbConnection oldconnection = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Administrator\Desktop\123\123.accdb");
oldconnection.Open();
string SqlCmd = "select * from Date1 where 姓名='" + textBox1.Text+"'";
OleDbDataAdapter dbDataAdapter = new OleDbDataAdapter(SqlCmd, oldconnection); //创建适配对象
DataTable dt = new DataTable(); //新建表对象
dbDataAdapter.Fill(dt); //用适配对象填充表对象
if (dt.Rows.Count>0)
{
foreach (DataRow item in dt.Rows)
{
textBox1.Text = item[1].ToString();
textBox2.Text = item[2].ToString();
textBox3.Text = item[3].ToString();
}
}
else
{
MessageBox.Show("Null Value!");
}
}
很完美的结果呀!!
3.下面修改数据
先贴代码
private void Change_Click(object sender, EventArgs e)
{
OleDbConnection oldconnection = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Administrator\Desktop\123\123.accdb");
oldconnection.Open();
string sqlcmd = string .Format("update Date1 set 性别='{0}',学号='{1}' where 姓名='{2}'",textBox2.Text,textBox3.Text,textBox1.Text);
OleDbCommand oleDbCommand = new OleDbCommand(sqlcmd, oldconnection);
int i = oleDbCommand.ExecuteNonQuery();
}
点击修改按钮
修改成功!
4.删除数据
private void Delete_Click(object sender, EventArgs e)
{
OleDbConnection oldconnection = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Administrator\Desktop\123\123.accdb");
oldconnection.Open();
string sql = string.Format("delete from Date1 where 姓名='{0}'",textBox1.Text);
//删除执行
OleDbCommand oleDbCommand = new OleDbCommand(sql, oldconnection);
int i = oleDbCommand.ExecuteNonQuery();
}
成功!是不是很简单啊
有些小伙伴可能对于SQL语句不太懂怎么操作。楼主贴一下SQL的一个链接,可以进去学习一下!
https://www.runoob.com/sql/sql-tutorial.html
第一次手写博客,还是蛮激动的,如果有什么不足的地方,欢迎大家指正!谢谢。