使用MySql.Data 连接mysql 数据库,需先引用MySql.Data ,用过MySql.Data.dll操作Mysql数据库。

1,在工具-Nuget包管理器-管理解决方案的Nuget程序包——安装MySql.data.dll

2,使用 MySqlConnection连接数据库,在使用MySqlCommand设置执行sql语句,执行类别,使用参数。

using System;
using System.Configuration;
using MySql.Data.MySqlClient;
using System.Data;
namespace Webapi.Data
{
public static class DBHelper
{
private static MySqlConnection con = null;

//获取配置文件中的数据库地址
private static string connection = ConfigurationManager.ConnectionStrings["smallprocedures"].ConnectionString;

/// <summary>
/// 开启/关闭数据库连接
/// </summary>
public static void Connection()
{

  try
  {
    if (con != null)
      con.Clone();
    else
    {
      con = new MySqlConnection(connection);
      con.Open();
    }
  }
  catch (Exception e)
  {
    //连接失败
  }
}
/// <summary>
/// 查询
/// </summary>
/// <param name="sql">sql语句</param>
/// <returns></returns>
public static DataSet Select(string sql)
{

  DataSet ds = new DataSet();
  try
  {
    Connection();//开启
    MySqlCommand com = new MySqlCommand(sql, con);
    com.CommandType = CommandType.Text;//执行sql语句
    MySqlDataAdapter db = new MySqlDataAdapter(com);
    db.Fill(ds);//读取数据
  }
  catch (Exception e)
  {

  }
  finally
  {
    Connection();//关闭
  }
  return ds;
}
/// <summary>
/// 查询(存储过程)
/// </summary>
/// <param name="procedureName">存储过程名称</param>
/// <param name="sqlParameter">参数</param>
/// <returns></returns>
public static DataSet Select_Procedure(string procedureName, MySqlParameter [] sqlParameter)
{
  DataSet ds = new DataSet();
  Connection();
  MySqlCommand com = new MySqlCommand(procedureName, con);
  com.CommandType = CommandType.StoredProcedure;//执行存储过程
  try
  {
    if (sqlParameter != null)
    {
      for (int i = 0; i < sqlParameter.Length; i++)
      com.Parameters.Add(sqlParameter[i]);
    }
    using (MySqlDataAdapter db = new MySqlDataAdapter(com))
    db.Fill(ds);
  }
  catch (Exception e)
  {
    com.Parameters.Clear();
  }
  finally
  {
    Connection();
  }
  return ds;
}
/// <summary>
/// 增删改
/// </summary>
/// <param name="sql">sql语句</param>
/// <returns></returns>
public static bool Update(string sql)
{
  Connection();
  int num = 0;
  MySqlCommand com = new MySqlCommand(sql, con);
  MySqlTransaction sqlTransaction = com.Transaction;//创建事务
  try
  {
    num= com.ExecuteNonQuery();

  }
  catch (Exception)
  {

    //异常处理
  }
  finally
  {
    if (num > 0)
      sqlTransaction.Commit();//提交
    else
      sqlTransaction.Rollback();//回滚

    Connection();

  }
  return false;
}
}
}

C#——》Web Api 操作MySQL数据库公共类:MySql.Data的更多相关文章

  1. MySQL数据库工具类之——DataTable批量加入MySQL数据库(Net版)

    MySQL数据库工具类之——DataTable批量加入数据库(Net版),MySqlDbHelper通用类希望能对大家有用,代码如下: using MySql.Data.MySqlClient; us ...

  2. C#访问MySQL数据库帮助类

    MySQL数据库访问帮助类 1.项目添加引用官方MySQL动态库MySql.Data.dll 下载地址:MySql.Data.dll(也可以到官网下载动态库)项目添加引用 这里有一个Mysql帮助类的 ...

  3. PHP - Mysql数据库备份类

    使用方法: require_once("backdata.class.php"); $link =@mysql_connect("localhost",&quo ...

  4. 重新学习MySQL数据库3:Mysql存储引擎与数据存储原理

    重新学习Mysql数据库3:Mysql存储引擎与数据存储原理 数据库的定义 很多开发者在最开始时其实都对数据库有一个比较模糊的认识,觉得数据库就是一堆数据的集合,但是实际却比这复杂的多,数据库领域中有 ...

  5. 重新学习MySQL数据库4:Mysql索引实现原理

    重新学习Mysql数据库4:Mysql索引实现原理 MySQL索引类型 (https://www.cnblogs.com/luyucheng/p/6289714.html) 一.简介 MySQL目前主 ...

  6. 重新学习MySQL数据库10:MySQL里的那些日志们

    重新学习MySQL数据库10:MySQL里的那些日志们 同大多数关系型数据库一样,日志文件是MySQL数据库的重要组成部分.MySQL有几种不同的日志文件,通常包括错误日志文件,二进制日志,通用日志, ...

  7. 重新学习MySQL数据库8:MySQL的事务隔离级别实战

    重新学习Mysql数据库8:MySQL的事务隔离级别实战 在Mysql中,事务主要有四种隔离级别,今天我们主要是通过示例来比较下,四种隔离级别实际在应用中,会出现什么样的对应现象. Read unco ...

  8. 通过JSP网页连接MySQL数据库,从MySQL数据库中读出一张表并显示在JSP网页中

    1.安装所需软件 ①安装java和tomcat,建立JSP网页最基础的软件②安装MySQL数据库(下载地址:https://www.mysql.com/)③安装Navicat Premium来查看数据 ...

  9. c/c++连接mysql数据库设置及乱码问题(vs2013连接mysql数据库,使用Mysql API操作数据库)

    我的安装环境: (1)vs2013(32位版) (vs2013只有32位的 没有64位的,但是它可以编译出64位的程序)  : (2)mysql-5.7.15(64位) vs2013中的设置(按步骤来 ...

  10. c++连接mysql数据库(使用mysql api方式,环境VS2013+MYSQL5.6)

    转载请注明出处,原文地址http://www.cnblogs.com/zenki-kong/p/4382657.html 刚开始写博客,博主还只是个大三汪,学艺不精,如有错误还请前辈指出(>^ω ...

随机推荐

  1. Babel与webpack

    一.基础认知1 babel是js编译器,将新版本js代码转换成大多数浏览器支持的es5,es3代码 浏览器其实也不认识require函数,bable配合webpack解决模块的问题: 主要编译的是语法 ...

  2. 230219 Business 31-48

    31.  31: Maternity LeaveVeronica, when is your baby due?Next month.Are you going on maternity leave? ...

  3. iOS基础 - SceneDelegate

    前言 1 - 自从 Xcode11 发布以来,当你使用新 XCode 创建一个新的 iOS 项目时 SceneDelegate 会被默认创建 2 - 在 iOS 13 后 SceneDelegate ...

  4. centos更改java的环境变量

    vi  /etc/profile 在最后添加这个信息,或修改这些信息 export JAVA_HOME=/usr/local/java/jdk1.8.0_251export CLASSPATH=.:$ ...

  5. Linux&Android相关常用命令汇总记录

    Linux&Android相关常用命令汇总记录 0@Linux&Android系统命令行下如何查看命令的帮助信息: command --help 1@在Linux系统中,设备分为三类, ...

  6. raid 0 与raid 1的区别?

    区别共有三点: 1.两者的概念不同: RAID 0:是多磁盘数据分组同步写读. RAID 1:是多磁盘同数据同步写读. 2.两者的安全性不同: RAID 0:无数据备份功能,安全性差. RAID 1: ...

  7. Linux LVM分区相关知识

    Linux分区有多种方式,一种是LVM格式的比较方便,另一种是标准分区扩容比较麻烦,麻烦的事情那么出错的概率也就越大,所以建议生产环境上分区都使用LVM格式硬盘分区. 一.    什么叫LVM?  L ...

  8. (K8s学习笔记七)Pod的升级和回滚

    1.Deployment的升级 示例:滚动升级busybox-deployment容器 apiVersion: apps/v1 kind: Deployment metadata: name: bus ...

  9. 取消Andorid设备的严格模式

    在做文件拍照选择等应用时,发现7.0以上手机需要主动关闭严格模式才能让代码不报错 通过关闭严格模式绕过fileprovider 权限的控制的方法,绕过FileProvider在应用间共享文件的限制 7 ...

  10. php redis使用 常用方法 | Windows环境下安装Redis | Windows下php安装redis扩展(详解版)

    redis可视化工具:http://www.treesoft.cn/dms.html #php redis使用 常用方法 https://www.cnblogs.com/mg007/p/1043107 ...