C# 连接MySQL实现增删改查(详细步骤)

今天星期六,在公司加班研究了一天,如何实现用C#连接数据库,现在把今天研究到的成过记录下来!


安装MySQL提供连接C#的插件

Mysql.Data.dll

下载网址https://www.mysql.com/

下载步骤如下图:
一、

二、

三、

下载好安装好就可以进行下一步操作了!

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)

相关推荐