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数据库 c与access数据库_c操作access数据库


2、创建一个新表student,表里有姓名、年龄、学号三个属性。

c操作access数据库 c与access数据库_c操作access数据库_02


3、把数据库另存为.mdb,如果创建完就是mdb格式请忽略。

c操作access数据库 c与access数据库_数据库_03


4、打开Visual Studio (我这里用的是Visual Studio 2017),点击菜单栏中的 工具-连接到数据库,跳转到添加连接。

c操作access数据库 c与access数据库_System_04


5、连接数据库,并测试连接。

c操作access数据库 c与access数据库_System_05

6、这一步很重要,记得要把连接字符串复制下来,可以先保存到一个文本文件里,待会再解释。

c操作access数据库 c与access数据库_System_06

7、在服务器资源管理器里可以看到刚才连接的数据库。

c操作access数据库 c与access数据库_System_07

8、接下来新建一个控制台项目。

c操作access数据库 c与access数据库_c操作access数据库_08

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;
        }
   }
}