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、接下来新建一个控制台项目。
文章图片
【使用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;
}
}
}