C#连接MySQL数据库

如果是第一次用这个,要先安装一个东西。

在visual studio里面创建项目,右键点击项目名,点击nuget程序包:

会出现这个界面:需要安装MySQL。data,没有安装的到浏览里面找。

好,把这个资源安装好后就可以开始了,因为项目里还有很多地方要连接数据库,我就把连接数据库的方法写到了一个类里,这样用的时候就可以直接创建对象就好了。

右键点击项目名,新建项,选择C#类:

我的起名为MySQL,名字随意, 类里面自己写一个方法,public MySqlConnection 方法名

//方式一
           //需要创建MySQLConnection对象
        public MySqlConnection connection()
        {
            //记录连接的信息
            String connetStr = "server=127.0.0.1;port=3306;user=root;password=123456; database=LMS;";
            //创建数据库连接
            MySqlConnection con = new MySqlConnection(connetStr);
            //打开连接
            con.Open();
            Console.WriteLine("数据库连接成功");
            return con;    
        }

注意,这里的字符串connetStr信息每人是不一样的,是由你自己的服务器地址,端口,用户和密码 构成的。查看这些信息可以参考:(5条消息) 查看自己的Mysql数据库server和port端口信息_快阁东西倚晚晴的博客-CSDN博客_mysql server端口

注意这个方法有返回值的,返回值为MySqlConnection类型。方法里用MySqlConnection创造了一个对象con, 创建时将记录连接信息的字符串connetStr作为参数传入了con对象中。如果连接成功则可以调用方法open来打开连接:con.Open();同样的可以通过方法close()来关闭连接:con.Close();

整个代码如下:

using MySql.Data.MySqlClient;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace LMS
{
     class MySQL
    {
        //方式一
        //需要创建MySQLConnection对象
        public MySqlConnection connection()
        {
            String connetStr = "server=127.0.0.1;port=3306;user=root;password=123456; database=LMS;";
            //创建数据库连接
            MySqlConnection con = new MySqlConnection(connetStr);
            //打开连接
            con.Open();
            Console.WriteLine("数据库连接成功");
            return con;    
        }

        //方式二
        //mysql类实例化后直接调用
        public MySqlConnection createConnection()
        {
            MySqlConnectionStringBuilder scsb = new MySqlConnectionStringBuilder();
            scsb.UserID = "root";
            scsb.Server = "127.0.0.1";
            scsb.Port = 3306;
            scsb.Password = "123456";
            scsb.Database = "test";

            MySqlConnection mySqlConnection = new MySqlConnection(scsb.ConnectionString);

            mySqlConnection.Open();
            Console.WriteLine("数据库连接成功!");
            return mySqlConnection;

        }

        
    }

}

方法二没有什么参考价值,区别就是创建一个MySqlConnectionStringBuilder类的对象scsb,有意思的是,这个类里面已经定义好了数据库连接所需要的各种参数,只需要设置一下就好了。最后还是要创建一个连接对象,并将参数scsb.connectionstring传到里面。

使用连接:

        MySQL mySQL = new MySQL(); 
        MySqlConnection con;   //创建数据库连接
   
         //打开数据库连接
        con = mySQL.connection();
          //关闭数据库连接
        con.Close();

这样,就成功连接到MySQL数据库并打开了连接,后面就可以对数据库进行增删改查等一系列操作了。 


二更,封装执行sql语句的方法。

后来发现项目里太多重复的代码段了,将这些方法封装再Mysql类中。主要是有返回值Idatareader类的查询方法,和无返回值的非查询方法。方法reader()传入参数为指令字符串str和打开的数据库连接con,方法execute()传入参数 为指令字符串str和打开的数据库连接con

代码如下:

using MySql.Data.MySqlClient;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace LMS
{
     class MySQL
    {
       
        //创建MySQLConnection对象
        public MySqlConnection connection()
        {
            String connetStr = "server=127.0.0.1;port=3306;user=root;password=985211; database=LMS;";
            //创建数据库连接
            MySqlConnection con = new MySqlConnection(connetStr);
            //打开连接
            con.Open();
            Console.WriteLine("数据库连接成功");
            return con;    
        }

        //创建数据读取器
            //传入参数:sql查询语句 , 打开的数据库连接con
        public IDataReader reader(string str,MySqlConnection con)  
        {
            MySqlCommand cmd = new MySqlCommand(str,con);  //创建命令
            cmd.CommandType = System.Data.CommandType.Text;  //设置命令类型
            return cmd.ExecuteReader();    //执行命令,返回一个IdataReader类型
        }

        //指令执行
             //传入参数:sql查询语句 , 打开的数据库连接con
        public void execute(string str, MySqlConnection con)
        {
            MySqlCommand cmd = new MySqlCommand(str, con);  
            cmd.CommandType = CommandType.Text;
            
            cmd.ExecuteNonQuery();   //执行非查询指令
        }


        //方式二
        //mysql类实例化后直接调用
        public void createConnection()
        {
            MySqlConnectionStringBuilder scsb = new MySqlConnectionStringBuilder();
            scsb.UserID = "root";
            scsb.Server = "127.0.0.1";
            scsb.Port = 3306;
            scsb.Password = "985211";
            scsb.Database = "test";

            MySqlConnection mySqlConnection = new MySqlConnection(scsb.ConnectionString);

            mySqlConnection.Open();
            Console.WriteLine("数据库连接成功!");

        }

        
    }

}

  • 3
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
以下是C#连接MySQL数据库的步骤和示例代码: 1. 首先需要安装MySQL Connector/NET,可以在MySQL官网下载安装包进行安装。 2. 在C#项目中添加对MySQL Connector/NET的引用。 3. 在代码中使用以下代码进行连接: ```csharp using MySql.Data.MySqlClient; string connStr = "server=127.0.0.1;port=3306;user=root;password=power123;database=my_data;"; MySqlConnection conn = new MySqlConnection(connStr); try { conn.Open(); Console.WriteLine("MySQL连接成功!"); } catch (MySqlException ex) { Console.WriteLine("MySQL连接失败:" + ex.Message);} finally { conn.Close(); } ``` 其中,`connStr`是连接字符串,包含了MySQL服务器的IP地址、端口号、用户名、密码和数据库名。`MySqlConnection`是MySQL Connector/NET提供的连接对象,通过`Open()`方法打开连接,`Close()`方法关闭连接。 4. 连接成功后,可以使用`MySqlCommand`对象执行SQL语句,例如: ```csharp string sql = "SELECT * FROM my_table"; MySqlCommand cmd = new MySqlCommand(sql, conn); MySqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { Console.WriteLine(reader.GetString(0) + "\t" + reader.GetString(1)); } reader.Close(); ``` 其中,`sql`是要执行的SQL语句,`MySqlCommand`是MySQL Connector/NET提供的执行对象,通过`ExecuteReader()`方法执行SQL语句并返回一个`MySqlDataReader`对象,通过`Read()`方法读取查询结果。 5. 可以使用`DataGridView`控件显示查询结果,例如: ```csharp string sql = "SELECT * FROM my_table";MySqlDataAdapter adapter = new MySqlDataAdapter(sql, conn); DataSet ds = new DataSet(); adapter.Fill(ds, "my_table"); dataGridView1.DataSource = ds.Tables["my_table"]; ``` 其中,`MySqlDataAdapter`是MySQL Connector/NET提供的数据适配器对象,通过`Fill()`方法将查询结果填充到`DataSet`对象中,然后将`DataSet`对象中的表绑定到`DataGridView`控件上。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

快阁东西倚晚晴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值