C#(.net) MySql数据库链接工具类

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: C#(.net) MySql数据库链接工具类
+关注继续查看

先下载和安装MySQLDriverCS

http://sourceforge.net/projects/mysqldrivercs/

在安装文件夹下面找到MySQLDriver.dll,然后将MySQLDriver.dll添加引用到项目中

应用程序配置文件:

App.config:

<?xml version="1.0" encoding="utf-8" ?>

<configuration>

 <connectionStrings>

   <add name="server" connectionString="localhost"></add>

   <add name="database" connectionString="housing"></add>

   <add name="login" connectionString="root"></add>

   <add name="password" connectionString="root"></add>

 </connectionStrings>

</configuration>

SqlHelper.cs内容:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Configuration;

using MySQLDriverCS;

using System.Data;

namespace Demo

{

   class SqlHelper

   {

       private static string server = ConfigurationManager.ConnectionStrings["server"].ConnectionString;

       private static string database = ConfigurationManager.ConnectionStrings["database"].ConnectionString;

       private static string login = ConfigurationManager.ConnectionStrings["login"].ConnectionString;

       private static string password = ConfigurationManager.ConnectionStrings["password"].ConnectionString;

       public static int ExecuteNoQuery(String sql,MySQLParameter[] parameters)

       {

           using (MySQLConnection conn = new MySQLConnection(new MySQLConnectionString(server, database, login, password).AsString))

           {

               conn.Open();

             

               //防止乱码

               MySQLCommand commn = new MySQLCommand("set names gb2312", conn);

               commn.ExecuteNonQuery();

               //连接语句和SQL

               MySQLCommand cmd = new MySQLCommand(sql, conn);

               //添加参数

               cmd.Parameters.AddRange( parameters);

               //返回执行结果

               return cmd.ExecuteNonQuery();

           }

       

       }

       public static object ExecuteScalar(String sql, MySQLParameter[] parameters)

       {

           using (MySQLConnection conn = new MySQLConnection(new MySQLConnectionString(server, database, login, password).AsString))

           {

               conn.Open();

               //防止乱码

               MySQLCommand commn = new MySQLCommand("set names gb2312", conn);

               commn.ExecuteNonQuery();

               MySQLCommand cmd = new MySQLCommand(sql, conn);

               //添加参数

               cmd.Parameters.AddRange(parameters);

               

               return cmd.ExecuteNonQuery();

           }

       

       }

       //较少的时候

       public static DataTable ExecuteReaderEx(String sql, MySQLParameter[] parameters)

       {

           using (MySQLConnection conn = new MySQLConnection(new MySQLConnectionString(server, database, login, password).AsString))

           {

               conn.Open();

               //防止乱码

               MySQLCommand commn = new MySQLCommand("set names gb2312", conn);

               commn.ExecuteNonQuery();

               MySQLCommand cmd = new MySQLCommand(sql, conn);

               //添加参数

               cmd.Parameters.AddRange(parameters);

               MySQLDataAdapter mda = new MySQLDataAdapter(cmd);

               //查询出的数据是存在DataTable中的,DataTable可以理解成为一个虚拟的表,DataTable中的一行为一条记录,一列为一个数据库字段  

               DataTable dt = new DataTable();

               mda.Fill(dt);  

               return dt;

           }

       }

       public static DataSet ExecuteReaderEx2(String sql, MySQLParameter[] parameters)

       {

           using (MySQLConnection conn = new MySQLConnection(new MySQLConnectionString(server, database, login, password).AsString))

           {

               conn.Open();

               //防止乱码

               MySQLCommand commn = new MySQLCommand("set names gb2312", conn);

               commn.ExecuteNonQuery();

               MySQLCommand cmd = new MySQLCommand(sql, conn);

               //添加参数

               cmd.Parameters.AddRange(parameters);

               MySQLDataAdapter mda = new MySQLDataAdapter(cmd);

               //查询出的数据是存在DataTable中的,DataTable可以理解成为一个虚拟的表,DataTable中的一行为一条记录,一列为一个数据库字段  

               DataSet ds = new DataSet();

               mda.Fill(ds);

               return ds;

           }

       }

   }

}

使用示例:

 //sql语句

               string sql = "update tbl_sysuser set isActived=@isActived where id=@id";

         

               int number = SqlHelper.ExecuteNoQuery(sql, new MySQLParameter[]

               {

                   new MySQLParameter("@isActived", "YES"),

                   new MySQLParameter("@id", 2)

               });

             

               Console.WriteLine("受影响的行数:" + number);

————————————————

版权声明:本文为CSDN博主「明明如月学长」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/w605283073/article/details/43678149

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
7月前
Mybatis+mysql动态分页查询数据案例——工具类(MybatisUtil.java)
Mybatis+mysql动态分页查询数据案例——工具类(MybatisUtil.java)
58 0
|
7月前
Mybatis+mysql动态分页查询数据案例——分页工具类(Page.java)
Mybatis+mysql动态分页查询数据案例——分页工具类(Page.java)
64 0
|
10月前
|
SQL Oracle 网络协议
【.NET 6】使用EF Core 访问Oracle+Mysql+PostgreSQL并进行简单增改操作与性能比较
唠嗑一下。都在说去O或者开源,但是对于数据库选型来说,很多人却存在着误区。例如,去O,狭义上讲,是去Oracle数据库。但是从广义上来说,是去Oracle公司产品或者具有漂亮国垄断地位和需要商业授权的数据库产品。
238 0
【.NET 6】使用EF Core 访问Oracle+Mysql+PostgreSQL并进行简单增改操作与性能比较
|
11月前
|
SQL 前端开发 关系型数据库
mysql根据父节点递归查询所有子节点,List转树形结构工具类
mysql根据父节点递归查询所有子节点,List转树形结构工具类
552 0
mysql根据父节点递归查询所有子节点,List转树形结构工具类
|
11月前
|
关系型数据库 MySQL Linux
.Net Core 的WebApi项目使用mysql的EF CodeFirst模式
.Net Core 的WebApi项目使用mysql的EF CodeFirst模式
114 0
.Net Core 的WebApi项目使用mysql的EF CodeFirst模式
|
开发框架 关系型数据库 MySQL
.NET Core使用NPOI将Excel中的数据批量导入到MySQL
.NET Core使用NPOI将Excel中的数据批量导入到MySQL
226 0
.NET Core使用NPOI将Excel中的数据批量导入到MySQL
|
关系型数据库 MySQL 数据库
Python工具类(一)—— 操作Mysql数据库
Python工具类(一)—— 操作Mysql数据库
571 0
|
SQL 关系型数据库 MySQL
.NET5发布了,腾讯招聘点名要求精通MySQL,而不是SQLServer
.NET5发布了,腾讯招聘点名要求精通MySQL,而不是SQLServer
145 0
.NET5发布了,腾讯招聘点名要求精通MySQL,而不是SQLServer
|
移动开发 JSON 缓存
钉钉消息机器人.Net通用C#Unity实现钉钉消息通知一个工具类(无需SDK,无其他引用)
钉钉消息机器人.Net通用C#Unity实现钉钉消息通知一个工具类(无需SDK,无其他引用) Chinar —— 心分享、心创新! 助力快速完成 .Net 通用的钉钉Post机器人消息通知 为初学者节省宝贵的时间,避免采坑! 官方文档详细,但实现方式上没有过多的说明。 本质上就是一个 POST 消息请求 所以我们只要, 完成正常发送POST 使得钉钉方从中可获取对应格式的数据 即可!
952 0
钉钉消息机器人.Net通用C#Unity实现钉钉消息通知一个工具类(无需SDK,无其他引用)
推荐文章
更多