使用C#如何连接到ACCESS数据库

ADO.NET采用不同的Connection对象连接数据库,
分别有四种:SqlConnection,OleDbConnection,OdbcConnection和OracleConnection。Sqlconnetcion类的对象针对是SQL Server数据库;OracleConnection类的对象针对Oracle数据库;OleDbConneetion连接支持OLE DB的数据库,如Access;而OdbcConnection类的对象连接支持ODBC的数据库。与数据库的所有通讯都是通过Connection对象来完成的。
代码下载链接:https://pan.baidu.com/s/1MmRHXnXF8twVUHtEX_D3WQ
提取码:uaz5
1、打开office access新建一个空白数据库test.accdb,并改好存放位置。
使用C#如何连接到ACCESS数据库
文章图片

2、创建一个新表student,表里有姓名、年龄、学号三个属性。
使用C#如何连接到ACCESS数据库
文章图片

3、把数据库另存为.mdb,如果创建完就是mdb格式请忽略。
使用C#如何连接到ACCESS数据库
文章图片

4、打开Visual Studio (我这里用的是Visual Studio 2017),点击菜单栏中的 工具-连接到数据库,跳转到添加连接。
使用C#如何连接到ACCESS数据库
文章图片

5、连接数据库,并测试连接。
使用C#如何连接到ACCESS数据库
文章图片

6、这一步很重要,记得要把连接字符串复制下来,可以先保存到一个文本文件里,待会再解释。
使用C#如何连接到ACCESS数据库
文章图片

7、在服务器资源管理器里可以看到刚才连接的数据库。
使用C#如何连接到ACCESS数据库
文章图片

8、接下来新建一个控制台项目。
使用C#如何连接到ACCESS数据库
文章图片

【使用C#如何连接到ACCESS数据库】9、进入代码部分。
连接数据库时,我们需要用到 OleDbConnection 类。

OleDbConnection oleDb = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Users\czg\Desktop\test\test.mdb"); //Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Users\czg\Desktop\test\test.mdb是/刚才复制的连接字符串

全部代码:
using System; using System.Collections.Generic; using System.Data; using System.Data.OleDb; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Access数据操作 { class Program { static void Main(string[] args) { Access access = new Access(); access.Find(); Console.ReadKey(); access.Add(); Console.WriteLine("回车继续"); Console.ReadKey(); access.Del(); Console.WriteLine("回车继续"); Console.ReadKey(); access.Change(); Console.WriteLine("回车继续"); Console.ReadKey(); access.Get(); } } class Access { OleDbConnection oleDb = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Users\czg\Desktop\test\test.mdb"); //刚才复制的连接字符串 public Access() //构造函数 { oleDb.Open(); }public void Get() { string sql = "select * from student"; //获取表student的内容 OleDbDataAdapter dbDataAdapter = new OleDbDataAdapter(sql, oleDb); //创建适配对象 DataTable dt = new DataTable(); //新建表对象 dbDataAdapter.Fill(dt); //用适配对象填充表对象 foreach (DataRow item in dt.Rows) { Console.WriteLine(item[0] + " | " + item[1]+" | " + item[2]+" | " + item[3]); } } public void Find() { string sql = "select * from student WHERE 姓名='小明'"; //获取表student中姓名是小明的内容 OleDbDataAdapter dbDataAdapter = new OleDbDataAdapter(sql, oleDb); //创建适配对象 DataTable dt = new DataTable(); //新建表对象 dbDataAdapter.Fill(dt); //用适配对象填充表对象 foreach (DataRow item in dt.Rows) { Console.WriteLine(item[0] + " | " + item[1] + " | " + item[2] + " | " + item[3]); } } public bool Add() { string sql = "insert into student (姓名,年龄,学号) values ('小高','13','250')"; //往表student中添加一条记录。 OleDbCommand oleDbCommand = new OleDbCommand(sql, oleDb); int i = oleDbCommand.ExecuteNonQuery(); //返回被修改的数目 return i > 0; } public bool Del() { string sql = "delete from student where 姓名='小红'"; //删除姓名是小红的记录 OleDbCommand oleDbCommand = new OleDbCommand(sql, oleDb); int i = oleDbCommand.ExecuteNonQuery(); return i > 0; } public bool Change() { string sql = "update student set 学号='222' where 姓名='小东'"; //将表student中姓名为小东的学号号修改成222 OleDbCommand oleDbCommand = new OleDbCommand(sql, oleDb); int i = oleDbCommand.ExecuteNonQuery(); return i > 0; } } }

    推荐阅读