C#——》Web Api 操作MySQL数据库公共类:MySql.Data
使用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的更多相关文章
- MySQL数据库工具类之——DataTable批量加入MySQL数据库(Net版)
MySQL数据库工具类之——DataTable批量加入数据库(Net版),MySqlDbHelper通用类希望能对大家有用,代码如下: using MySql.Data.MySqlClient; us ...
- C#访问MySQL数据库帮助类
MySQL数据库访问帮助类 1.项目添加引用官方MySQL动态库MySql.Data.dll 下载地址:MySql.Data.dll(也可以到官网下载动态库)项目添加引用 这里有一个Mysql帮助类的 ...
- PHP - Mysql数据库备份类
使用方法: require_once("backdata.class.php"); $link =@mysql_connect("localhost",&quo ...
- 重新学习MySQL数据库3:Mysql存储引擎与数据存储原理
重新学习Mysql数据库3:Mysql存储引擎与数据存储原理 数据库的定义 很多开发者在最开始时其实都对数据库有一个比较模糊的认识,觉得数据库就是一堆数据的集合,但是实际却比这复杂的多,数据库领域中有 ...
- 重新学习MySQL数据库4:Mysql索引实现原理
重新学习Mysql数据库4:Mysql索引实现原理 MySQL索引类型 (https://www.cnblogs.com/luyucheng/p/6289714.html) 一.简介 MySQL目前主 ...
- 重新学习MySQL数据库10:MySQL里的那些日志们
重新学习MySQL数据库10:MySQL里的那些日志们 同大多数关系型数据库一样,日志文件是MySQL数据库的重要组成部分.MySQL有几种不同的日志文件,通常包括错误日志文件,二进制日志,通用日志, ...
- 重新学习MySQL数据库8:MySQL的事务隔离级别实战
重新学习Mysql数据库8:MySQL的事务隔离级别实战 在Mysql中,事务主要有四种隔离级别,今天我们主要是通过示例来比较下,四种隔离级别实际在应用中,会出现什么样的对应现象. Read unco ...
- 通过JSP网页连接MySQL数据库,从MySQL数据库中读出一张表并显示在JSP网页中
1.安装所需软件 ①安装java和tomcat,建立JSP网页最基础的软件②安装MySQL数据库(下载地址:https://www.mysql.com/)③安装Navicat Premium来查看数据 ...
- c/c++连接mysql数据库设置及乱码问题(vs2013连接mysql数据库,使用Mysql API操作数据库)
我的安装环境: (1)vs2013(32位版) (vs2013只有32位的 没有64位的,但是它可以编译出64位的程序) : (2)mysql-5.7.15(64位) vs2013中的设置(按步骤来 ...
- c++连接mysql数据库(使用mysql api方式,环境VS2013+MYSQL5.6)
转载请注明出处,原文地址http://www.cnblogs.com/zenki-kong/p/4382657.html 刚开始写博客,博主还只是个大三汪,学艺不精,如有错误还请前辈指出(>^ω ...
随机推荐
- [转并修改]C#编程中跨线程访问控件
C#编程中跨线程访问控件 一.简述 二.Winforms中跨线程访问控件 三.WPF中跨线程访问控件 参考文档 一.简述 C#中不允许跨线程直接访问界面控件,即一个线程中如主线程创建的控件不允许被其他 ...
- laravel phpstorm ide-helper
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ composer create-proj ...
- 【服务器数据恢复】热备盘同步失败导致数据丢失的raid5数据恢复案例
服务器数据恢复环境:华为s系列服务器:24块硬盘组成一组raid5磁盘阵列,其中包含1块热备盘. 服务器故障&检测:服务器工作状态下raid5中有一块硬盘离线,热备盘激活替换离线硬盘并开始进行 ...
- MySql密码忘记怎么办?
第一步服务 net stop mysql 第二步,执行指令 mysqld --console --skip-grant-tables --user=mysql --shared-memory 第三步, ...
- BP神经网络及手工搭建神经网络
import pandas as pd import numpy as np import matplotlib.pyplot as plt def sigmoid(x): # 定义网络激活函数 re ...
- 山寨e网通公告
SHANZGONGG山寨e网通V1.0[换行]软件完全免费,官方绝不会索取任何费用,请勿被骗,后果自负.[换行]如果你有什么更好的建议或者需要哪里改进的地方,请联系作者QQ206044600反馈,前提 ...
- CVE-2020-2551
前言 2020年1月15日,Oracle发布了一系列的安全补丁,其中Oracle WebLogic Server产品有高危漏洞,漏洞编号CVE-2020-2551,CVSS评分9.8分,漏洞利用难度低 ...
- CMMI审核期间的主要流程
整个阶段大致2个月左右,正式评估大概一个星期 一 计划准备阶段,包括我们一些资料的准备,做评估计划等 二 执行评估阶段 启动会议 主要主任评估师讲,所有人员参会 会议内容:主任评估师自我介绍 ,项目信 ...
- 【git】git子模块操作-添加子模块与克隆子模块
https://git-scm.com/book/zh/v2/Git-%E5%B7%A5%E5%85%B7-%E5%AD%90%E6%A8%A1%E5%9D%97 git submodule upda ...
- C# DataGrid嵌套DataGrid动态隐藏显示行
前端代码: <Window x:Class="DataGridPractice.MainWindow" xmlns="http://schemas.microsof ...