基于上一篇博客C# 连接MySQL实现增删改查(详细步骤),现在记录下另一篇博客,如何连接ACCESS数据库实现增删改查。
总体上也不算很难,因为微软的Visual Studio 本就支持连接该数据库 ,不像MySQL数据库,还得下载插件安装才行!
创建ACCESS数据库
按照图片顺序创建一个简单的数据库吧!
一、在自己的windows哪里找到该数据库,并双击打开
二、修改一下数据库的保存路径,并创建空白数据库
三、在创建的表格中添加字段,并添加一些数据,最后ctrl + s保存一下,并修改该表名为student
好了,数据库和表都已经创建好了
Visual Studio 中添加数据库
按照图片步骤完成
一、在工具菜单中单击-连接到数据库
二、在弹出的窗口中:1.更改,选择对应的数据库;2.浏览,选择自己刚刚创建好的数据库路径;3.点击测试连接;4.单击高级(请看图三)
三、单击高级后,在弹出的高级属性中,复制最下面一行代码,用于连接该数据库。复制完后点击确认即可。(注意:一定要复制,如果不小心遗漏了,请看图五找回)
四、右侧单击-服务器资环管理器,就可以看到我们添加进来的数据库了
五、可以按下图操作找回连接数据库的代码
好了,Visual Studio 中把数据库添加进来了,下面就可以进行代码连接数据库了。
代码连接ACCESS数据库,实现增删改查
需包含的命名空间:
using System.Data;
using System.Data.OleDb;
我们刚刚复制的:
画横线部分就是我们刚刚复制的。
我们在创建连接数据库对象时需要使用到它来进行初始化OleDbConnection。
剩下来的增删改查操作就不详细讲了,把代码写下来,供大家参考观看,代码中都有详细注释,自己慢慢研究吧,不难!
using System;
using System.Collections.Generic;
using System.Data; // 需包含的命名空间
using System.Data.OleDb; // 需包含的命名空间
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Csharp连接ACCESS数据库 {
class Program {
static void Main(string[] args) {
// 创建连接对象
OleDbConnection odc = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\yangg\Desktop\Database3.accdb");
// 表字段
int age = 0;
int id = 0;
string name = "";
// 返回受影响的行数
int result = 0;
#region 增加
try {
// 如果连接是关闭的,才进行打开
if (odc.State == ConnectionState.Closed) {
odc.Open(); // 打开连接
}
Console.WriteLine("请输入插入的id:");
id = int.Parse(Console.ReadLine());
Console.WriteLine("请输入插入的name:");
name = Console.ReadLine();
Console.WriteLine("请输入插入的age:");
age = int.Parse(Console.ReadLine());
// sql操作语句
string insert = "insert into student values(" + id + ", '" + name + "', " + age + ");";
// 创建用于实现SQL语句的对象
OleDbCommand oleDbCommand = new OleDbCommand(insert, odc); // 参数一:sql语句 参数二:连接数据库的对象
// 执行,并返回受影响的行数
result = oleDbCommand.ExecuteNonQuery();
Console.WriteLine("受影响的行数({0})", result);
}
catch (Exception e) {
MessageBox.Show(e.ToString(), "提示");
}
finally {
odc.Close(); // 断开连接
}
#endregion
#region 删除
try {
// 如果连接是关闭的,才进行打开
if (odc.State == ConnectionState.Closed) {
odc.Open();
}
Console.WriteLine("请输入删除的id:");
id = int.Parse(Console.ReadLine());
// sql操作语句
string delete = "delete from student where id = " + id;
// 创建用于实现SQL语句的对象
OleDbCommand oleDbCommand2 = new OleDbCommand(delete, odc); // 参数一:sql语句 参数二:连接数据库的对象
// 执行,并返回受影响的行数
result = oleDbCommand2.ExecuteNonQuery();
Console.WriteLine("受影响的行数({0})", result);
}
catch (Exception e) {
MessageBox.Show(e.ToString(), "提示");
}
finally {
odc.Close();
}
#endregion
#region 修改
try {
// 如果连接是关闭的,才进行打开
if (odc.State == ConnectionState.Closed) {
odc.Open();
}
Console.WriteLine("请输入修改的id:");
id = int.Parse(Console.ReadLine());
Console.WriteLine("请输入修改的name:");
name = Console.ReadLine();
Console.WriteLine("请输入修改该的age:");
age = int.Parse(Console.ReadLine());
// sql操作语句
string update = "update student set Name = '" + name + "', Age = " + age + " where Id = " + id;
// 创建用于实现SQL语句的对象
OleDbCommand oleDbCommand3 = new OleDbCommand(update, odc);
// 执行,并返回受影响的行数
result = oleDbCommand3.ExecuteNonQuery();
Console.WriteLine("受影响的行数({0})", result);
}
catch (Exception e) {
MessageBox.Show(e.ToString(), "提示");
}
finally {
odc.Close();
}
#endregion
#region 查询
try {
// 如果连接是关闭的,才进行打开
if (odc.State == ConnectionState.Closed) {
odc.Open();
}
Console.WriteLine("请输入查询的age:");
age = int.Parse(Console.ReadLine());
// sql操作语句
string select = "select * from student where Age = " + age;
// 创建设配器对象
OleDbDataAdapter dbDataAdapter = new OleDbDataAdapter(select, odc);
// 新建表对象
DataTable dataTable = new DataTable();
// 用设配器对象填充表对象
dbDataAdapter.Fill(dataTable);
// 将查找到的数据遍历输出
foreach (DataRow dr in dataTable.Rows) {
Console.WriteLine("id = {0} name = {1} age = {2}", dr[0], dr[1], dr[2]);
}
}
catch (Exception e) {
MessageBox.Show(e.ToString(), "提示");
}
finally {
odc.Close();
}
#endregion
Console.ReadKey();
}
}
}
// 如果连接是关闭的,才进行打开
if (odc.State == ConnectionState.Closed) {
odc.Open();
}
odc.Close();
代码中这样做是为了防止多次打开而浪费系统资源!
总结:差不多就这样了,增删改的操作都是一样的,就只有查就有些不一样,但不影响。ACCESS数据库的操作和SQL的操作都一样,所以,也就这样吧!
更多推荐
C# 连接ACCESS数据库 - 增删改查(详细步骤)
发布评论