ACCESS简介
Microsoft Access 是一款由微软开发的关系型数据库管理系统(RDBMS),它是Microsoft Office套件的一部分,旨在为中小型企业、开发人员及个人用户提供简便而强大的数据库功能。Access结合了数据库管理的强大功能与图形化界面的易用性,能够方便地创建、管理和分析数据。它广泛用于数据存储、查询、报告和应用程序开发。
本文介绍了用C#实现ACCESS数据库的增删改查功能。具体代码如下:
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