使用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,并改好存放位置。
在这里插入图片描述
2、创建一个新表student,表里有姓名、年龄、学号三个属性。
在这里插入图片描述
3、把数据库另存为.mdb,如果创建完就是mdb格式请忽略。
在这里插入图片描述
4、打开Visual Studio (我这里用的是Visual Studio 2017),点击菜单栏中的 工具-连接到数据库,跳转到添加连接。
在这里插入图片描述
5、连接数据库,并测试连接。
在这里插入图片描述

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

在这里插入图片描述

7、在服务器资源管理器里可以看到刚才连接的数据库。
在这里插入图片描述

8、接下来新建一个控制台项目。
在这里插入图片描述

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;
        }
   }
}
        
    	
  • 16
    点赞
  • 125
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值