使用C#访问MySql数据库,并进行相应的增删改查

工具:Visual Studio

步骤:
1.(鼠标操作)要导入的项目 => 右键 => 管理NuGet程序包 => 搜索MySql.Data并安装 => 要导入的项目 => 右键 => 重新生成解决方案
2.在项目类创建一个类,名称为MySqlDBHelper,并且Copy如下代码:
(注:
数据库连接字符串格式示例:
server=127.0.0.1;port=3306;user=root;password=1234;database=CYMobile;
服务器IP;端口号;用户名;密码;数据库名称;
)


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

namespace @在这里自行修改命名空间
{
    public static class MySqlDBHelper
    {
        /// 
        /// 这是数据库连接字符串
        /// 
        private static string conn = @在这里自行修改数据库连接字符串;

        /// 
        /// 查询
        /// 
        /// Sql语句
        /// 参数化列表
        /// 数据集
        public static MySqlDataReader ExecuteReader(string sql, params MySqlParameter[] sp)
        {
            MySqlConnection sc = new MySqlConnection(conn);
            sc.Open();
            MySqlCommand cmd = new MySqlCommand(sql, sc);
            if (sp != null)
                cmd.Parameters.AddRange(sp);
            return cmd.ExecuteReader(CommandBehavior.CloseConnection);
        }

        /// 
        /// 增删改
        /// 
        /// Sql语句
        /// 参数化列表
        /// 受影响的行数
        public static int ExecuteNonQuery(string sql, params MySqlParameter[] sp)
        {
            using (MySqlConnection sc = new MySqlConnection(conn))
            {
                sc.Open();
                MySqlCommand cmd = new MySqlCommand(sql, sc);
                if (sp != null)
                    cmd.Parameters.AddRange(sp);
                return cmd.ExecuteNonQuery();
            }
        }

        /// 
        /// 执行sql语句并且返回第一行第一列的数据
        /// 
        /// Sql语句
        /// 参数化列表
        /// 一列数据
        public static object ExecuteScale(string sql, params MySqlParameter[] sp)
        {
            using (MySqlConnection sc = new MySqlConnection(conn))
            {
                sc.Open();
                MySqlCommand cmd = new MySqlCommand(sql, sc);
                if (sp != null)
                    cmd.Parameters.AddRange(sp);
                return cmd.ExecuteScalar();
            }
        }
    }
}

调用方法:
1.比方说我要查询学生表的所有数据,并且在控制台打印他们

var dr = MySqlDBHelper.ExecuteReader("select * from `Students`");
while (dr.Read())
{
	Console.WriteLine("姓名:" + dr["StuName"]);
	Console.WriteLine("班级:" + dr["ClassName"]);
	Console.WriteLine("年龄:" + dr["StuAge"]);
	Console.WriteLine();
}

2.比方说我要实现登陆功能(参数为:用户名(username)、密码(password)(这里就不加密了))

int Login=Convert.ToInt32(MySqlDBHelper.ExecuteScale("select count(*) from `User` where `username`=@username and `password`=@password", new MySqlParameter[] { new MySqlParameter("@username", username), new MySqlParameter("@password", password) }));
if(Login > 0){
	//登陆成功
}else{
	//用户名或者密码错误
}

3.比方说我要将年龄小于10岁的学生班级修改为202
第一种:

MySqlDBHelper.ExecuteNonQuery("update `Students` set `ClassName`='202' where `StuAge`<10");

第二种:

MySqlDBHelper.ExecuteNonQuery("update `Students` set `ClassName`=@ClassName where `StuAge`<@StuAge", new MySqlParameter[] { new MySqlParameter("@ClassName", "202"), new MySqlParameter("@StuAge", "10") });

你可能感兴趣的:(助手类)