MySQL C#教程

这是关于MySQL数据库的C#教程,包含了对MySQL数据库基本操作;

数据库访问组件MySql Connect/NET

MySql Connect/NET是MySQL官方提供给C#的接口,封装的非常好,操作MySQL就如同操作自家的SQLServer;

MySql Connect/NET

开始程序之旅

数据库模型层UserEntity.cs

using System;
using System.Collections.Generic;
using System.Text;

namespace AccessOfMysql.Entity
{
    public class MysqlConfig
    {
        //主机
        private string server;
        public string Server
        {
            get
            {
                return server;
            }
            set
            {
                server = value;
            }
        }

        //数据库
        private string database;
        public string Database
        {
            get
            {
                return database;
            }
            set
            {
                database = value;
            }
        }

        //用户id
        private string userid;
        public string Userid
        {
            get
            {
                return userid;
            }
            set
            {
                userid = value;
            }
        }

        //密码
        private string password;
        public string Password
        {
            get
            {
                return password;
            }
            set
            {
                password = value;
            }
        }
    }
    public class UserEntity
    {
        /// <summary>
        /// 用户id
        /// </summary>
        private uint id;
        public uint Id 
        {
            get
            {
                return id;
            }
            set
            {
                id = value;
            }
        }
        /// <summary>
        /// 用户姓名
        /// </summary>
        private string name;
        public string Name 
        {
            get
            {
                return name;
            }
            set 
            {
                name = value;
            }
        }
        /// <summary>
        /// 用户住址
        /// </summary>
        private string address;
        public string Address
        {
            get
            {
                return address;
            }
            set
            { 
                address = value; 
            }
        }
    }
}

数据库访问层UserAccess.cs

using System;
using System.Collections.Generic;
using System.Text;
using MySql.Data.MySqlClient;
using AccessOfMysql.Entity;

namespace AccessOfMysql
{
    class UserAccess
    {
        private string connectString;
        
        public UserAccess(string connectString)
        {
            this.connectString = connectString;
        }

        public List<UserEntity> GetUserListFromDb()
        {
            string query = @"SELECT * 
                             FROM t_user";

            List<UserEntity> userEntityList = new List<UserEntity>();

            using (MySqlConnection connection = new MySqlConnection(this.connectString))
            {
                //打开数据库连接
                connection.Open();

                //创建SqlCommand对象
                MySqlCommand command = new MySqlCommand(query, connection);

                //执行SQL,返回查询结果
                using (MySqlDataReader dataReader = command.ExecuteReader())
                {
                    while (dataReader.Read())
                    {
                        UserEntity userEntity = new UserEntity();
                        userEntity.Id = dataReader.GetUInt32(0);
                        userEntity.Name = dataReader.GetString(1);
                        userEntity.Address = dataReader.GetString(2);
                        userEntityList.Add(userEntity);
                    }
                }
            }
            return userEntityList;
        }

        public void InserUserToDb(UserEntity user)
        {
            string query = @"INSERT INTO t_user (name, address) 
                             VALUES (@name, @address)";

            using (MySqlConnection connection = new MySqlConnection(this.connectString))
            {
                //打开数据库
                connection.Open();

                //创建SqlCommand
                MySqlCommand command = new MySqlCommand(query, connection);

                command.Parameters.AddWithValue("@name", user.Name);
                command.Parameters.AddWithValue("@address", user.Address);
                
                //执行SQL语句,不查询
                command.ExecuteNonQuery();
            }
        }

        public int GetUserCountFromDb()
        {
            string query = @"SELECT COUNT(*) 
                             FROM t_user";
            using (MySqlConnection connection = new MySqlConnection(connectString))
            {
                //打开数据库
                connection.Open();

                MySqlCommand command = new MySqlCommand(query, connection);
                //执行SQL,返回条目数
                int count = int.Parse(command.ExecuteScalar().ToString());
                
                return count;
            }
        }
    }
}

主程序Program.cs

using System;
using System.Collections.Generic;
using System.Text;
using MySql.Data.MySqlClient;
using AccessOfMysql.Entity;

namespace AccessOfMysql
{
    class Program
    {
        static void Main(string[] args)
        {
           
            //数据库连接字符串(charset=utf8:解决插入汉字乱码问题)
            string connectString = "server=127.0.0.1;database=cjtdb;uid=root;pwd=root;charset=utf8";
            UserAccess userAccess = new UserAccess(connectString);
            try
            {
                //取得用户信息一览
                List<UserEntity> userEntityList = userAccess.GetUserListFromDb();
                foreach(UserEntity userEntity in userEntityList)
                {
                    Console.WriteLine("id={0}, name={1}, address={2}", 
                        userEntity.Id, userEntity.Name, userEntity.Address);
                }

                //插入用户信息
                UserEntity user = new UserEntity();
                user.Name = "李小龙";
                user.Address = "上海";
                userAccess.InserUserToDb(user);

                //统计用户信息总条数
                int count = userAccess.GetUserCountFromDb();
            }
            catch (MySqlException ex)
            {
                Console.WriteLine(ex.ToString());
            }       
        }
    }
}

转载于:https://www.cnblogs.com/chenjintao/p/6519666.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是C#链接MySQL数据库的教程: 1. 下载MySQL Connector/NET,这是一个官方提供的用于连接MySQL数据库的.NET驱动程序。下载地址:https://dev.mysql.com/downloads/connector/net/ 2. 安装MySQL Connector/NET驱动程序,安装时请注意选择适合您的操作系统和.NET版本的驱动程序。 3. 在Visual Studio中创建一个新的项目,选择“Windows应用程序”或“控制台应用程序”等,然后在“解决方案资源管理器”中右键单击项目,并选择“管理NuGet程序包”。 4. 在“NuGet程序包管理器”中搜索“mysql.data”,然后安装MySQL.Data NuGet包,这个包将会引用MySQL Connector/NET驱动程序的DLL文件。 5. 在代码中添加以下引用: ```csharp using MySql.Data.MySqlClient; ``` 6. 在代码中使用以下代码片段来连接MySQL数据库: ```csharp string connectionString = "server=localhost;port=3306;database=mydatabase;uid=myusername;password=mypassword;"; MySqlConnection connection = new MySqlConnection(connectionString); connection.Open(); ``` 请注意,上面的代码应该根据您的实际数据库设置进行更改。如果需要,可以修改“localhost”、“mydatabase”、“myusername”和“mypassword”等参数。 7. 连接成功后,您可以使用以下代码执行SQL查询: ```csharp MySqlCommand command = new MySqlCommand("SELECT * FROM mytable", connection); MySqlDataReader reader = command.ExecuteReader(); while (reader.Read()) { // 处理查询结果 } ``` 8. 最后,记得在使用完毕后关闭数据库连接: ```csharp connection.Close(); ``` 以上就是C#链接MySQL数据库的基本步骤。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值