C# 对mysql 操作的封装

891
2024/1/8 4:59:53
栏目: 云计算
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在C#中,可以使用MySQL Connector/Net库来操作MySQL数据库。这个库提供了与MySQL数据库的交互功能,并且可以使用它来封装对MySQL数据库的操作。以下是一个简单的示例:

using System;
using MySql.Data.MySqlClient;

namespace MySqlExample
{
    public class MySqlHelper
    {
        private string connectionString; // MySQL数据库连接字符串
        
        public MySqlHelper(string server, string database, string username, string password)
        {
            // 构建连接字符串
            connectionString = $"server={server};database={database};uid={username};password={password}";
        }
        
        public void ExecuteNonQuery(string sql)
        {
            using (var connection = new MySqlConnection(connectionString))
            {
                connection.Open();
                
                var command = new MySqlCommand(sql, connection);
                command.ExecuteNonQuery();
            }
        }
        
        public object ExecuteScalar(string sql)
        {
            using (var connection = new MySqlConnection(connectionString))
            {
                connection.Open();
                
                var command = new MySqlCommand(sql, connection);
                return command.ExecuteScalar();
            }
        }
        
        public MySqlDataReader ExecuteReader(string sql)
        {
            var connection = new MySqlConnection(connectionString);
            connection.Open();
            
            var command = new MySqlCommand(sql, connection);
            return command.ExecuteReader(CommandBehavior.CloseConnection);
        }
    }
    
    public class Program
    {
        public static void Main(string[] args)
        {
            var helper = new MySqlHelper("localhost", "mydatabase", "myusername", "mypassword");
            
            // 执行查询
            var reader = helper.ExecuteReader("SELECT * FROM mytable");
            while (reader.Read())
            {
                var column1 = reader.GetString(0);
                var column2 = reader.GetString(1);
                Console.WriteLine($"{column1}, {column2}");
            }
            
            // 执行更新
            helper.ExecuteNonQuery("UPDATE mytable SET column1 = 'newvalue' WHERE id = 1");
            
            // 执行插入,并获取自动生成的ID
            var newId = (int)helper.ExecuteScalar("INSERT INTO mytable (column1, column2) VALUES ('value1', 'value2'); SELECT LAST_INSERT_ID();");
            Console.WriteLine($"New ID: {newId}");
        }
    }
}

在上面的示例中,我们创建了一个名为MySqlHelper的类,它封装了对MySQL数据库的常见操作,如执行查询、执行更新和执行插入。在Main方法中,我们创建了一个MySqlHelper实例,并使用它来执行一些简单的操作。

请注意,示例中的连接字符串是使用serverdatabaseuidpassword参数构建的。你需要将这些参数替换为你自己的MySQL服务器的详细信息。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: mysql复合主键 适用场景分析