C# 连接MySQL实现增删改查(详细步骤)
今天星期六,在公司加班研究了一天,如何实现用C#连接数据库,现在把今天研究到的成过记录下来!
安装MySQL提供连接C#的插件
Mysql.Data.dll
下载步骤如下图:
一、
二、
三、
下载好安装好就可以进行下一步操作了!
MySQL for Visual Studio 安装教程:
注意事项:
再上图中,本来Visual Studio 2017不应该打叉的,不知道为什么小编的打叉了,选中自己对应的版本进行安装,就可以在Visual Studio 中进行打开数据了。小编的不行,所以就只能利用其他工具打开数据库进行操作了!
如下图:
Visual Studio 添加dll文件
请按照图片步骤进行Mysql.Data.dll的引入添加!
在数据库的安装路径中,找到Mysql.Data.dll进行添加!
这样就完成了,可以进行代码编辑连接MySQL了!
实现代码连接数据库
需要包含的命名空间:
using System.Data;
// 表的命名空间
using MySql.Data.MySqlClient;
// 和MySQL相关的命名空间
下面请看代码:(代码中都有详细注释,这里就不详细解释啦!)
注意代码中的数据库名,登录账号,密码,表名和表的字段噢!
运行代码必须先启动数据库噢!
小编代码中用的数据库名表名和表的字段在代码下面有截图!
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Data; // 表的命名空间using MySql.Data.MySqlClient; // 和MySQL相关的命名空间namespace 连接数据库 { class Program { static void Main(string[] args) { #region 连接数据库 // 声明一个连接数据库的对象 MySqlConnectionStringBuilder mysqlCSB = new MySqlConnectionStringBuilder(); mysqlCSB.Database = "school"; // 设置连接的数据库名 mysqlCSB.Server = "127.0.0.1"; // 设置连接数据库的IP地址 mysqlCSB.Port = 3306; // MySql端口号 mysqlCSB.UserID = "root"; // 设置登录数据库的账号 mysqlCSB.Password = "yang"; // 设置登录数据库的密码 //string mysqlCSB = "Database=school;Data Source=127.0.0.1;port=3306;User Id=root;Password=yang;"; // 创建连接 MySqlConnection mySqlConnection = new MySqlConnection(mysqlCSB.ToString()); // 打开连接(如果处于关闭状态才进行打开) if (mySqlConnection.State == ConnectionState.Closed) { mySqlConnection.Open(); } // 对应数据库里面的表字段 string id = "0"; string name = "0"; // 保存数据库执行后受影响的行数 int result = 0; #endregion /****************************************************************************************/ /*********************************-----华丽的分割线-----*********************************/ /***************************************数据库插入***************************************/ #region MySQL插入(增) try { // 打开连接(如果处于关闭状态才进行打开) if (mySqlConnection.State == ConnectionState.Closed) { mySqlConnection.Open(); } Console.WriteLine("请输入需要插入的id:"); id = Console.ReadLine(); Console.WriteLine("请输入需要插入的name:"); name = Console.ReadLine(); // 创建要插入的MySQL语句 String mysqlInsert = "insert into class1 values(" + id + ", '" + name + "')"; // 创建用于实现MySQL语句的对象 MySqlCommand mySqlCommand = new MySqlCommand(mysqlInsert, mySqlConnection); // 执行MySQL语句进行插入 result = mySqlCommand.ExecuteNonQuery(); Console.WriteLine("数据库中受影响的行数({0})\n", result); } catch (Exception) { } finally { // 关闭连接 mySqlConnection.Close(); } #endregion /****************************************************************************************/ /*********************************-----华丽的分割线-----*********************************/ /***************************************数据库删除***************************************/ #region MySQL删除(删) try { // 打开连接(如果处于关闭状态才进行打开) if (mySqlConnection.State == ConnectionState.Closed) { mySqlConnection.Open(); } Console.WriteLine("请输入需要删除的id:"); id = Console.ReadLine(); // 创建要查询的MySQL语句 String sqlDelete = "delete from class1 where id = " + id; // 创建用于实现MySQL语句的对象 MySqlCommand mySqlCommand4 = new MySqlCommand(sqlDelete, mySqlConnection); // 执行MySQL语句进行删除 result = mySqlCommand4.ExecuteNonQuery(); Console.WriteLine("数据库中受影响的行数({0}\n)", result); } catch (Exception) { } finally { // 关闭连接 mySqlConnection.Close(); } #endregion /****************************************************************************************/ /*********************************-----华丽的分割线-----*********************************/ /***************************************数据库修改***************************************/ #region MySQL修改(改) try { // 打开连接(如果处于关闭状态才进行打开) if (mySqlConnection.State == ConnectionState.Closed) { mySqlConnection.Open(); } Console.WriteLine("请输入需要修改的id:"); id = Console.ReadLine(); Console.WriteLine("请输入需要修改的name:"); name = Console.ReadLine(); // 创建要修改的MySQL语句 String sqlUpdate = "update class1 set name = '" + name + "' where id = " + id; // 创建用于实现MySQL语句的对象 MySqlCommand mySqlCommand3 = new MySqlCommand(sqlUpdate, mySqlConnection); // 执行MySQL语句进行修改 result = mySqlCommand3.ExecuteNonQuery(); Console.WriteLine("数据库中受影响的行数({0}\n)", result); } catch (Exception) { } finally { // 关闭连接 mySqlConnection.Close(); } #endregion /****************************************************************************************/ /*********************************-----华丽的分割线-----*********************************/ /***************************************数据库查询***************************************/ #region MySQL查询(查) try { // 打开连接(如果处于关闭状态才进行打开) if (mySqlConnection.State == ConnectionState.Closed) { mySqlConnection.Open(); } Console.WriteLine("请输入需要查询的id:"); id = Console.ReadLine(); // 创建要查询的MySQL语句 String sqlSelect = "select * from class1 where id = " + id + ";"; // 创建用于实现MySQL语句的对象 MySqlCommand mySqlCommand2 = new MySqlCommand(sqlSelect, mySqlConnection); // 参数一:SQL语句字符串 参数二:已经打开的数据库连接对象 // 执行MySQL语句,接收查询到的MySQL结果 MySqlDataReader mdr = mySqlCommand2.ExecuteReader(); // 读取数据 while (mdr.Read()) { Console.WriteLine("id = " + mdr.GetString("id") + " name = " + mdr.GetString("name")); } } catch (Exception) { } finally { // 关闭连接 mySqlConnection.Close(); } #endregion Console.WriteLine(); Console.ReadKey(); } }}
代码中多次把连接断开后再打开,是为了不打开那么多次而浪费资源,这是一个小技巧!
C# 连接SQL Server数据库
另外附赠C#连接SQL Server数据库的方式。
拿走不谢!
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace 连接数据库 { class Program { static void Main(string[] args) { // 附送SQL Server 的数据库连接方式,拿走不谢! // 需要包含头文件:using System.Data; // 表的命名空间 // using System.Data.SqlClient; // 和SQL相关的命名空间 #region SQL Server 连接数据库的方式 string id = "0"; Console.WriteLine("请输入需要查询的id:"); id = Console.ReadLine(); // 声明一个连接数据库的对象 SqlConnectionStringBuilder scsb = new SqlConnectionStringBuilder(); // 设置连接数据库的IP地址 scsb.DataSource = "127.0.0.1"; // 设置登录数据库的账号 scsb.UserID = "root"; // 设置登录数据库的密码 scsb.Password = "yang"; // 设置连接的数据库名 scsb.InitialCatalog = "school"; // 创建连接 SqlConnection conn = new SqlConnection(scsb.ToString()); // 打开连接 conn.Open(); // 创建要执行的SQL语句 String sqlSelect = "select * from class1 where id = " + id + ";"; // 创建用于实现SQL语句的对象 SqlCommand comm = new SqlCommand(sqlSelect, conn); // 参数一:SQL语句字符串 参数二:已经打开的数据库连接对象 // 执行comm对象,接收查询到的SQL结果 SqlDataReader sdr = comm.ExecuteReader(); // 读取数据 while (sdr.Read()) { Console.WriteLine(sdr["Name"]); } #endregion Console.WriteLine(); Console.ReadKey(); } }}
总结:连接MySQL数据库的基本步骤就是这样了,希望对大家有帮助吧!
赞 (0)