使用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. 微信开发者工具代码管理设置使用SSH Key(使用密码)方法

    参考微信开发社区--使用ssh key无法推送代码.微信开发者工具 SSH key认证 推送.拉取GitHub项目 1.确认已安装git,打开 Git Bash 使用https://git.weixi ...

  2. php框架之odp-环境部署安装

    一.安装配置 1.安装很简单,创建安装目录,然后在linux上使用wget命令从获取地址下载,然后解压,最后在安装目录下执行bin/odp_install即可. 例如:(只是举例,请安装最新的版本) ...

  3. Java 查找Panel 里的某个组件 比如 按钮

    遇到到一个需求,需要获取界面里的一个按钮,但是这个按钮是封装的父类嵌入的,知道label 的值. 写了一个递归获取它 1 private JButton LookupTheButton(Compone ...

  4. thirty-one

    动态组件 动态切换组件的显示和隐藏 如何实现动态组件的渲染 vue提供了有一个内置的<component>组件,专门用来实现动态组件的渲染.示例代码如下: 使用keep-alive保持状态 ...

  5. win10关闭自动更新的方法

    win10关闭自动更新的方法和步骤: 一.禁用Windows Update服务 1.打开服务项,win+r 输入 services.msc ,或者控制面板-管理工具-服务. 2.找到 Windows ...

  6. 洛谷 P5721 【入门3】循环结构

    P5723 [深基4.例13]质数口袋 1.题目描述 小 A 有一个质数口袋,里面可以装各个质数.他从 2 开始,依次判断各个自然数是不是质数,如果是质数就会把这个数字装入口袋. 口袋的负载量就是口袋 ...

  7. 百题计划-2 codeforces1185D Extra Element 暴力

    https://codeforces.com/contest/1185/problem/D 题意:给一个序列,移除一个数然后排序后使得序列成为等差数列,求移除的下标. 解法: 先排序,把所有差值扔到m ...

  8. jjupyter notebook 修改存储位置和修改默认浏览器

    先jupyter notebook --generate-config 找到配置文件位置 打开这里的哪个文件 然后修改即可 1.修改默认打开目录找到 #c.NotebookApp.notebook_d ...

  9. 混淆css类名

    使用vite:

  10. APP对接支付宝付款

    1.支付宝开发平台:https://openhome.alipay.com/ 2.进去沙箱,配置支付密钥 记录下appid,然后设置秘钥;  3.后端代码,配置类 pom文件sdk添加依赖 <! ...