ACCESS简介
Microsoft Access 是一款由微软开发的关系型数据库管理系统(RDBMS),它是Microsoft Office套件的一部分,旨在为中小型企业、开发人员及个人用户提供简便而强大的数据库功能。Access结合了数据库管理的强大功能与图形化界面的易用性,能够方便地创建、管理和分析数据。它广泛用于数据存储、查询、报告和应用程序开发。
本文介绍了用C#实现ACCESS数据库的增删改查功能。具体代码如下:
cs
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.OleDb;
using System.Linq;
using System.Text;
namespace AccessTest
{
class Program
{
// 定义数据库连接字符串,指定使用Microsoft ACE OLEDB 12.0提供程序连接Access数据库
static string connectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Administrator\Desktop\AccessTest\bin\Debug\database.accdb";
// 主方法,程序入口
static void Main(string[] args)
{
// 调用插入数据方法(目前注释掉)
//InsertData("John Doe", 20, "A");
// 修改数据(注释掉)
//UpdateData(1, "John Smith", 21, "B");
// 删除数据(注释掉)
//DeleteData(1);
// 查找并打印所有数据
GetAllData();
}
// 删除数据:根据给定的ID删除记录
static void DeleteData(int id)
{
// 使用OleDbConnection连接到数据库
using (OleDbConnection conn = new OleDbConnection(connectionString))
{
// 构建SQL查询,删除指定ID的记录
string query = "DELETE FROM Students WHERE ID = @ID";
OleDbCommand cmd = new OleDbCommand(query, conn);
// 为查询命令添加参数,防止SQL注入
cmd.Parameters.AddWithValue("@ID", id);
// 打开数据库连接
conn.Open();
// 执行删除操作,返回受影响的行数
int rowsAffected = cmd.ExecuteNonQuery();
// 根据受影响的行数判断删除是否成功
if (rowsAffected > 0)
{
Console.WriteLine("Data deleted successfully.");
}
else
{
Console.WriteLine("No data found with the specified ID.");
}
}
}
// 修改数据:根据给定ID更新学生的姓名、年龄和成绩
static void UpdateData(int id, string name, int age, string grade)
{
// 使用OleDbConnection连接到数据库
using (OleDbConnection conn = new OleDbConnection(connectionString))
{
// 构建SQL更新查询语句
string query = "UPDATE Students SET Name = @Name, Age = @Age, Grade = @Grade WHERE ID = @ID";
OleDbCommand cmd = new OleDbCommand(query, conn);
// 为查询命令添加参数
cmd.Parameters.AddWithValue("@Name", name);
cmd.Parameters.AddWithValue("@Age", age);
cmd.Parameters.AddWithValue("@Grade", grade);
cmd.Parameters.AddWithValue("@ID", id);
// 打开数据库连接
conn.Open();
// 执行更新操作,返回受影响的行数
int rowsAffected = cmd.ExecuteNonQuery();
// 根据受影响的行数判断更新是否成功
if (rowsAffected > 0)
{
Console.WriteLine("Data updated successfully.");
}
else
{
Console.WriteLine("No data found with the specified ID.");
}
}
}
// 获取并打印所有数据:查询数据库中所有学生信息并显示
static void GetAllData()
{
// 使用OleDbConnection连接到数据库
using (OleDbConnection conn = new OleDbConnection(connectionString))
{
// 构建SQL查询语句,获取所有学生记录
string query = "SELECT * FROM Students";
// 创建OleDbDataAdapter来执行查询并填充数据
OleDbDataAdapter da = new OleDbDataAdapter(query, conn);
DataTable dt = new DataTable();
da.Fill(dt);
// 打印表头
Console.WriteLine("ID | Name | Age | Grade");
Console.WriteLine("--------------------------------");
// 遍历所有数据行并输出
foreach (DataRow row in dt.Rows)
{
Console.WriteLine($"{row["ID"]} | {row["Name"]} | {row["Age"]} | {row["Grade"]}");
}
// 等待用户按键以结束
Console.ReadKey();
}
}
// 增加数据:插入新学生记录到数据库
static void InsertData(string name, int age, string grade)
{
// 使用OleDbConnection连接到数据库
using (OleDbConnection conn = new OleDbConnection(connectionString))
{
// 构建SQL插入语句
string query = "INSERT INTO Students (Name, Age, Grade) VALUES (@Name, @Age, @Grade)";
OleDbCommand cmd = new OleDbCommand(query, conn);
// 为查询命令添加参数
cmd.Parameters.AddWithValue("@Name", name);
cmd.Parameters.AddWithValue("@Age", age);
cmd.Parameters.AddWithValue("@Grade", grade);
// 打开数据库连接
conn.Open();
// 执行插入操作
cmd.ExecuteNonQuery();
// 输出操作成功的提示信息
Console.WriteLine("Data inserted successfully.");
}
}
}
}
主要功能:
连接数据库:所有与数据库交互的操作都是通过 OleDbConnection 来完成的,connectionString 连接到本地的 Access 数据库。
增、删、改、查操作:
增(InsertData):插入一条新的学生记录。
删(DeleteData):根据学生ID删除记录。
改(UpdateData):根据学生ID更新记录的姓名、年龄和成绩。
查(GetAllData):获取所有学生数据,并打印到控制台。
参数化查询:所有的SQL查询都使用参数化方式,防止SQL注入。
数据读取与展示:OleDbDataAdapter 用于从数据库读取数据,DataTable 用于存储并遍历查询结果。
注释重点:
连接数据库:通过 OleDbConnection 来打开连接,并使用 using 语句确保连接被及时关闭。
防止SQL注入:使用 OleDbCommand 的参数化查询来避免SQL注入攻击。
操作反馈:操作完成后,控制台会显示提示信息,告诉用户数据是否成功修改或删除。
3. 总结
本文展示了如何通过 C# 实现对 Access 数据库的基本增、删、改、查功能。在实际开发中,使用 C# 与 Access 数据库结合,可以快速实现数据操作和管理。通过注释掉的不同方法,可以根据需要执行相应的增、改、查、删操作。这种方式简洁有效,适用于中小型应用的数据库管理需求。
源码地址:https://download.csdn.net/download/weixin_44643352/90058758