如何使用.NET Core C#连接MySQL数据库

要使用.NET Core C#连接MySQL数据库,你需要遵循以下步骤:

安装MySQL Connector/NET:这是一个用于连接MySQL数据库的官方驱动程序。你可以通过NuGet包管理器安装它。在Visual Studio中,右键单击项目->选择“管理NuGet程序包”->搜索“MySql.Data”并安装。

引入命名空间:在你的C#代码文件中,引入以下命名空间:

using MySql.Data.MySqlClient;

创建连接字符串:创建一个包含数据库连接信息的字符串。通常,它包括服务器地址、端口、数据库名称、用户名和密码。例如:

string connectionString = "server=localhost;port=3306;database=myDatabase;user=myUsername;password=myPassword;";

创建连接对象:使用连接字符串创建一个MySqlConnection对象。

MySqlConnection connection = new MySqlConnection(connectionString);

打开连接:调用Open方法打开与数据库的连接。

connection.Open();

执行查询:创建一个MySqlCommand对象,设置其CommandText属性为SQL查询语句,然后调用ExecuteReader或ExecuteNonQuery方法执行查询。例如,执行一个SELECT查询:

MySqlCommand command = new MySqlCommand("SELECT * FROM myTable", connection);
MySqlDataReader reader = command.ExecuteReader();

读取数据:如果执行的是SELECT查询,可以使用MySqlDataReader对象读取查询结果。例如:

while (reader.Read())
{
    Console.WriteLine($"ID: {reader["id"]}, Name: {reader["name"]}");
}

关闭连接:在完成操作后,确保关闭连接以释放资源。

reader.Close();
connection.Close();

以下是一个完整的示例,展示了如何使用.NET Core C#连接到MySQL数据库并执行一个简单的SELECT查询:

using System;
using MySql.Data.MySqlClient;

class Program
{
    static void Main()
    {
        string connectionString = "server=localhost;port=3306;database=myDatabase;user=myUsername;password=myPassword;";
        MySqlConnection connection = new MySqlConnection(connectionString);

        try
        {
            connection.Open();
            Console.WriteLine("Connected to the database successfully!");

            MySqlCommand command = new MySqlCommand("SELECT * FROM myTable", connection);
            MySqlDataReader reader = command.ExecuteReader();

            while (reader.Read())
            {
                Console.WriteLine($"ID: {reader["id"]}, Name: {reader["name"]}");
            }

            reader.Close();
        }
        catch (Exception ex)
        {
            Console.WriteLine($"Error: {ex.Message}");
        }
        finally
        {
            connection.Close();
            Console.WriteLine("Connection closed.");
        }
    }
}
评论