数据连接类 这里采用mysql
数据库通用操作类,自己参照几个通用类改写的,用起来还是蛮不错。。。。 这里用的mysql 要是其他数据库自行更改下就好
public class MySqlHelper
{
public static string ConnectionString = ConfigurationManager.ConnectionStrings["SqlConn"].ToString(); #region 通用方法 /// <summary>
/// 创建一个连接对象
/// </summary>
/// <param name="connectionString">数据库连接字符串</param>
/// <returns></returns>
public static MySqlConnection CreateConnection(string connectionString)
{
return new MySqlConnection(connectionString);
} /// <summary>
/// 关闭一个数据库对象
/// </summary>
/// <param name="connection">数据库对象</param>
public static void CloseConnection(MySqlConnection connection)
{
if (connection != null)
{
connection.Close();
}
} /// <summary>
/// 打开一个数据库对象
/// </summary>
/// <param name="connection">数据库对象</param>
public static void OpenConnection(MySqlConnection connection)
{
if (connection != null)
{
connection.Open();
}
}
#endregion #region 执行数据库命令,返回最大自增列id /// <summary>
/// 执行数据库命令,返回受影响的行数
/// </summary>
/// <param name="transaction">数据库连接上的事务</param>
/// <param name="commandText">数据库命令的文本</param>
/// <returns>返回受影响的行数</returns>
public static object ExecuteScalar(MySqlTransaction transaction, string commandText)
{
return ExecuteScalar(transaction, commandText, CommandType.Text, null);
} /// <summary>
/// 执行数据库命令,返回受影响的行数
/// </summary>
/// <param name="connection">数据库连接对象</param>
/// <param name="commandText">数据库命令的文本</param>
/// <returns>返回受影响的行数</returns>
public static object ExecuteScalar(MySqlConnection connection, string commandText)
{
return ExecuteScalar(connection, commandText, CommandType.Text, null);
} /// <summary>
/// 执行数据库命令,返回首行首列 最后插入的自增列id
/// </summary>
/// <param name="transaction">数据库连接上的事务</param>
/// <param name="commandType">数据库命令的类型</param>
/// <param name="commandText">数据库命令的文本</param>
/// <param name="commandParameters">数据库命令的参数</param>
/// <returns>返回受影响的行数</returns>
private static object ExecuteScalar(MySqlTransaction transaction, string commandText, CommandType commandType, params MySqlParameter[] commandParameters)
{
using (MySqlCommand cmd = new MySqlCommand())
{
try
{
cmd.Connection = transaction.Connection;
cmd.Transaction = transaction;
cmd.CommandText = commandText;
cmd.CommandType = commandType;
if (commandParameters != null)
{
cmd.Parameters.AddRange(commandParameters);
}
return cmd.ExecuteScalar();
}
catch (Exception e)
{
throw new Exception(string.Format("错误描述:{0}{1}", e.Message, Environment.NewLine));
}
}
} /// <summary>
/// 执行数据库命令,返回首行首列 最后插入的自增列id
/// </summary>
/// <param name="connection">数据库连接对象</param>
/// <param name="commandType">数据库命令的类型</param>
/// <param name="commandText">数据库命令的文本</param>
/// <param name="commandParameters">数据库命令的参数</param>
/// <returns>返回受影响的行数</returns>
private static object ExecuteScalar(MySqlConnection connection, string commandText, CommandType commandType, params MySqlParameter[] commandParameters)
{
using (MySqlCommand cmd = new MySqlCommand())
{
try
{
cmd.Connection = connection;
cmd.CommandText = commandText;
cmd.CommandType = commandType;
if (commandParameters != null)
{
cmd.Parameters.AddRange(commandParameters);
}
return cmd.ExecuteScalar();
}
catch (Exception e)
{
throw new Exception(string.Format("错误描述:{0}{1}", e.Message, Environment.NewLine));
}
}
}
#endregion #region 执行数据库命令,返回受影响的行数 /// <summary>
/// 执行数据库命令,返回受影响的行数
/// </summary>
/// <param name="connection">数据库连接</param>
/// <param name="commandText">数据库命令的文本</param>
/// <returns>返回受影响的行数</returns>
public static int ExecuteNonQuery(MySqlConnection connection, string commandText)
{
return ExecuteNonQuery(connection, commandText, CommandType.Text, null);
} /// <summary>
/// 执行数据库命令,返回受影响的行数
/// </summary>
/// <param name="transaction">数据库连接上的事务</param>
/// <param name="commandText">数据库命令的文本</param>
/// <returns>返回受影响的行数</returns>
public static int ExecuteNonQuery(MySqlTransaction transaction, string commandText)
{
return ExecuteNonQuery(transaction, commandText, CommandType.Text, null);
} /// <summary>
/// 执行存储过程数据库命令,返回受影响的行数
/// </summary>
/// <param name="connection">数据库连接</param>
/// <param name="commandText">数据库命令的文本</param>
/// <param name="commandParameters">数据库命令的参数</param>
/// <returns>返回受影响的行数</returns>
public static int ExecuteProcedureNonQuery(MySqlConnection connection, string commandText, params MySqlParameter[] commandParameters)
{
return ExecuteNonQuery(connection, commandText, CommandType.StoredProcedure, commandParameters);
} /// <summary>
/// 执行存储过程数据库命令,返回受影响的行数
/// </summary>
/// <param name="transaction">数据库连接上的事务</param>
/// <param name="commandText">数据库命令的文本</param>
/// <param name="commandParameters">数据库命令的参数</param>
/// <returns>返回受影响的行数</returns>
public static int ExecuteProcedureNonQuery(MySqlTransaction transaction, string commandText, params MySqlParameter[] commandParameters)
{
return ExecuteNonQuery(transaction, commandText, CommandType.StoredProcedure, commandParameters);
} /// <summary>
/// 执行数据库命令,返回受影响的行数
/// </summary>
/// <param name="connection">数据库连接</param>
/// <param name="commandType">数据库命令的类型</param>
/// <param name="commandText">数据库命令的文本</param>
/// <param name="commandParameters">数据库命令的参数</param>
/// <returns>返回受影响的行数</returns>
private static int ExecuteNonQuery(MySqlConnection connection, string commandText, CommandType commandType, params MySqlParameter[] commandParameters)
{
using (MySqlCommand cmd = new MySqlCommand())
{
try
{
cmd.Connection = connection;
cmd.CommandText = commandText;
cmd.CommandType = commandType;
if (commandParameters != null)
{
cmd.Parameters.AddRange(commandParameters);
}
return cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
throw new Exception(string.Format("错误描述:{0}{1}", ex.Message, Environment.NewLine));
}
}
} /// <summary>
/// 执行数据库命令,返回受影响的行数
/// </summary>
/// <param name="transaction">数据库连接上的事务</param>
/// <param name="commandType">数据库命令的类型</param>
/// <param name="commandText">数据库命令的文本</param>
/// <param name="commandParameters">数据库命令的参数</param>
/// <returns>返回受影响的行数</returns>
private static int ExecuteNonQuery(MySqlTransaction transaction, string commandText, CommandType commandType, params MySqlParameter[] commandParameters)
{
using (MySqlCommand cmd = new MySqlCommand())
{
try
{
cmd.Connection = transaction.Connection;
cmd.Transaction = transaction;
cmd.CommandText = commandText;
cmd.CommandType = commandType;
if (commandParameters != null)
{
cmd.Parameters.AddRange(commandParameters);
}
return cmd.ExecuteNonQuery();
}
catch (Exception e)
{
throw new Exception(string.Format("错误描述:{0}{1}", e.Message, Environment.NewLine));
}
}
} #endregion 执行数据库命令,返回受影响的行数 #region 执行数据库命令,返回一个数据表 /// <summary>
/// 执行数据库命令,返回一个数据表
/// </summary>
/// <param name="connection">数据库连接</param>
/// <param name="commandText">数据库命令的文本</param>
/// <returns>返回一个数据表</returns>
public static DataTable ExecuteDataTable(MySqlConnection connection, string commandText)
{
return ExecuteDataTable(connection, commandText, CommandType.Text, null);
} /// <summary>
/// 执行数据库命令,返回一个数据表
/// </summary>
/// <param name="transaction">数据库连接上的事务</param>
/// <param name="commandText">数据库命令的文本</param>
/// <returns>返回一个数据表</returns>
public static DataTable ExecuteDataTable(MySqlTransaction transaction, string commandText)
{
return ExecuteDataTable(transaction, commandText, CommandType.Text, null);
} /// <summary>
/// 执行存储过程数据库命令,返回一个数据表
/// </summary>
/// <param name="connection">数据库连接</param>
/// <param name="commandText">数据库命令的文本</param>
/// <param name="commandParameters">数据库命令的参数</param>
/// <returns>返回一个数据表</returns>
public static DataTable ExecuteProcedureDataTable(MySqlConnection connection, string commandText, params MySqlParameter[] commandParameters)
{
return ExecuteDataTable(connection, commandText, CommandType.StoredProcedure, commandParameters);
} /// <summary>
/// 执行存储过程数据库命令,返回一个数据表
/// </summary>
/// <param name="transaction">数据库连接上的事务</param>
/// <param name="commandText">数据库命令的文本</param>
/// <param name="commandParameters">数据库命令的参数</param>
/// <returns>返回一个数据表</returns>
public static DataTable ExecuteProcedurDataTable(MySqlTransaction transaction, string commandText, params MySqlParameter[] commandParameters)
{
return ExecuteDataTable(transaction, commandText, CommandType.StoredProcedure, commandParameters);
} /// <summary>
/// 执行数据库命令,返回一个数据表
/// </summary>
/// <param name="connection">数据库连接</param>
/// <param name="commandType">数据库命令的类型</param>
/// <param name="commandText">数据库命令的文本</param>
/// <param name="commandParameters">数据库命令的参数</param>
/// <returns>返回一个数据表</returns>
private static DataTable ExecuteDataTable(MySqlConnection connection, string commandText, CommandType commandType, params MySqlParameter[] commandParameters)
{
using (MySqlCommand cmd = new MySqlCommand())
{
cmd.Connection = connection;
cmd.CommandText = commandText;
cmd.CommandType = commandType;
if (commandParameters != null)
{
cmd.Parameters.AddRange(commandParameters);
} using (MySqlDataAdapter da = new MySqlDataAdapter(cmd))
{
DataTable dt = new DataTable();
try
{
da.Fill(dt);
return dt;
}
catch (Exception e)
{
throw new Exception(string.Format("错误描述:{0}{1}", e.Message, Environment.NewLine));
}
}
}
} /// <summary>
/// 执行数据库命令,返回一个数据表
/// </summary>
/// <param name="transaction">数据库连接上的事务</param>
/// <param name="commandType">数据库命令的类型</param>
/// <param name="commandText">数据库命令的文本</param>
/// <param name="commandParameters">数据库命令的参数</param>
/// <returns>返回一个数据表</returns>
private static DataTable ExecuteDataTable(MySqlTransaction transaction, string commandText, CommandType commandType, params MySqlParameter[] commandParameters)
{
using (MySqlCommand cmd = new MySqlCommand())
{
cmd.Connection = transaction.Connection;
cmd.Transaction = transaction;
cmd.CommandText = commandText;
cmd.CommandType = commandType;
if (commandParameters != null)
{
cmd.Parameters.AddRange(commandParameters);
} using (MySqlDataAdapter da = new MySqlDataAdapter(cmd))
{
DataTable dt = new DataTable();
try
{
da.Fill(dt);
return dt;
}
catch (Exception e)
{
throw new Exception(string.Format("错误描述:{0}{1}", e.Message, Environment.NewLine));
}
}
}
} #endregion 执行数据库命令,返回一个数据表 #region 执行数据库命令,返回一个数据集 /// <summary>
/// 执行数据库命令,返回一个数据集
/// </summary>
/// <param name="connection">数据库连接</param>
/// <param name="commandText">数据库命令的文本</param>
/// <returns>返回一个数据集</returns>
public static DataSet ExecuteDataset(MySqlConnection connection, string commandText)
{
return ExecuteDataset(connection, commandText, CommandType.Text, null);
} /// <summary>
/// 执行数据库命令,返回一个数据集
/// </summary>
/// <param name="transaction">数据库连接上的事务</param>
/// <param name="commandText">数据库命令的文本</param>
/// <returns>返回一个数据集</returns>
public static DataSet ExecuteDataset(MySqlTransaction transaction, string commandText)
{
return ExecuteDataset(transaction, commandText, CommandType.Text, null);
} /// <summary>
/// 执行数据库命令,返回一个数据集
/// </summary>
/// <param name="connection">数据库连接</param>
/// <param name="commandText">数据库命令的文本</param>
/// <param name="commandParameters">数据库命令的参数</param>
/// <returns>返回一个数据集</returns>
public static DataSet ExecuteDataset(MySqlConnection connection, string commandText, params MySqlParameter[] commandParameters)
{
return ExecuteDataset(connection, commandText, CommandType.StoredProcedure, commandParameters);
} /// <summary>
/// 执行数据库命令,返回一个数据集
/// </summary>
/// <param name="transaction">数据库连接上的事务</param>
/// <param name="commandText">数据库命令的文本</param>
/// <param name="commandParameters">数据库命令的参数</param>
/// <returns>返回一个数据集</returns>
public static DataSet ExecuteDataset(MySqlTransaction transaction, string commandText, params MySqlParameter[] commandParameters)
{
return ExecuteDataset(transaction, commandText, CommandType.StoredProcedure, commandParameters);
} /// <summary>
/// 执行数据库命令,返回一个数据集
/// </summary>
/// <param name="connection">数据库连接</param>
/// <param name="commandType">数据库命令的类型</param>
/// <param name="commandText">数据库命令的文本</param>
/// <param name="commandParameters">数据库命令的参数</param>
/// <returns>返回一个数据集</returns>
private static DataSet ExecuteDataset(MySqlConnection connection, string commandText, CommandType commandType, params MySqlParameter[] commandParameters)
{
using (MySqlCommand cmd = new MySqlCommand())
{
cmd.Connection = connection;
cmd.CommandText = commandText;
cmd.CommandType = commandType;
if (commandParameters != null)
{
cmd.Parameters.AddRange(commandParameters);
} using (MySqlDataAdapter da = new MySqlDataAdapter(cmd))
{
DataSet ds = new DataSet();
try
{
da.Fill(ds);
return ds;
}
catch (Exception e)
{
throw new Exception(string.Format("错误描述:{0}{1}", e.Message, Environment.NewLine));
}
}
}
} /// <summary>
/// 执行数据库命令,返回一个数据集
/// </summary>
/// <param name="transaction">数据库连接上的事务</param>
/// <param name="commandType">数据库命令的类型</param>
/// <param name="commandText">数据库命令的文本</param>
/// <param name="commandParameters">数据库命令的参数</param>
/// <returns>返回一个数据集</returns>
private static DataSet ExecuteDataset(MySqlTransaction transaction, string commandText, CommandType commandType, params MySqlParameter[] commandParameters)
{
using (MySqlCommand cmd = new MySqlCommand())
{
cmd.Transaction = transaction;
cmd.Connection = transaction.Connection;
cmd.CommandText = commandText;
cmd.CommandType = commandType;
if (commandParameters != null)
{
cmd.Parameters.AddRange(commandParameters);
} using (MySqlDataAdapter da = new MySqlDataAdapter(cmd))
{
DataSet ds = new DataSet();
try
{
da.Fill(ds);
return ds;
}
catch (Exception e)
{
throw new Exception(string.Format("错误描述:{0}{1}", e.Message, Environment.NewLine));
}
}
}
} #endregion 执行数据库命令,返回一个数据集 #region 执行数据库命令,返回一个数据读取器 /// <summary>
/// 执行数据库命令,返回一个数据读取器
/// </summary>
/// <param name="connection">数据库连接</param>
/// <param name="commandText">数据库命令的文本</param>
/// <returns>返回一个数据读取器</returns>
public static MySqlDataReader ExecuteReader(MySqlConnection connection, string commandText)
{
return ExecuteReader(connection, commandText, CommandType.Text, null);
} /// <summary>
/// 执行数据库命令,返回一个数据读取器
/// </summary>
/// <param name="transaction">数据库连接上的事务</param>
/// <param name="commandText">数据库命令的文本</param>
/// <returns>返回一个数据读取器</returns>
public static MySqlDataReader ExecuteReader(MySqlTransaction transaction, string commandText)
{
return ExecuteReader(transaction, commandText, CommandType.Text, null);
} /// <summary>
/// 执行数据库命令,返回一个数据读取器
/// </summary>
/// <param name="connection">数据库连接</param>
/// <param name="commandText">数据库命令的文本</param>
/// <param name="commandParameters">数据库命令的参数</param>
/// <returns>返回一个数据读取器</returns>
public static MySqlDataReader ExecuteReader(MySqlConnection connection, string commandText, params MySqlParameter[] commandParameters)
{
return ExecuteReader(connection, commandText, CommandType.StoredProcedure, commandParameters);
} /// <summary>
/// 执行数据库命令,返回一个数据读取器
/// </summary>
/// <param name="transaction">数据库连接上的事务</param>
/// <param name="commandText">数据库命令的文本</param>
/// <param name="commandParameters">数据库命令的参数</param>
/// <returns>返回一个数据读取器</returns>
public static MySqlDataReader ExecuteReader(MySqlTransaction transaction, string commandText, params MySqlParameter[] commandParameters)
{
return ExecuteReader(transaction, commandText, CommandType.StoredProcedure, commandParameters);
} /// <summary>
/// 执行数据库命令,返回一个数据读取器
/// </summary>
/// <param name="connection">数据库连接</param>
/// <param name="commandType">数据库命令的类型</param>
/// <param name="commandText">数据库命令的文本</param>
/// <param name="commandParameters">数据库命令的参数</param>
/// <returns>返回一个数据读取器</returns>
private static MySqlDataReader ExecuteReader(MySqlConnection connection, string commandText, CommandType commandType, params MySqlParameter[] commandParameters)
{
using (MySqlCommand cmd = new MySqlCommand())
{
try
{
cmd.Connection = connection;
cmd.CommandText = commandText;
cmd.CommandType = commandType;
if (commandParameters != null)
{
cmd.Parameters.AddRange(commandParameters);
} return cmd.ExecuteReader();
}
catch (Exception e)
{
throw new Exception(string.Format("错误描述:{0}{1}", e.Message, Environment.NewLine));
}
}
} /// <summary>
/// 执行数据库命令,返回一个数据读取器
/// </summary>
/// <param name="transaction">数据库连接上的事务</param>
/// <param name="commandType">数据库命令的类型</param>
/// <param name="commandText">数据库命令的文本</param>
/// <param name="commandParameters">数据库命令的参数</param>
/// <returns>返回一个数据读取器</returns>
private static MySqlDataReader ExecuteReader(MySqlTransaction transaction, string commandText, CommandType commandType, params MySqlParameter[] commandParameters)
{
using (MySqlCommand cmd = new MySqlCommand())
{
try
{
cmd.Transaction = transaction;
cmd.Connection = transaction.Connection;
cmd.CommandText = commandText;
cmd.CommandType = commandType;
if (commandParameters != null)
{
cmd.Parameters.AddRange(commandParameters);
} return cmd.ExecuteReader();
}
catch (Exception e)
{
throw new Exception(string.Format("错误描述:{0}{1}", e.Message, Environment.NewLine));
}
}
} #endregion 执行数据库命令,返回一个数据读取器
}
数据连接类 这里采用mysql的更多相关文章
- 深入理解php的MySQL连接类
php的MySQL连接类. 后面几个show_databases和show_tables....等方法都用了一堆echo,好像一直不喜欢在类的方法里直接用输出语句,不过这也只是列举数据库和表名,构造 ...
- Tapdata Cloud 2.1.4 来啦:数据连接又上新,PolarDB MySQL、轻流开始接入,可自动标记不支持的字段类型
需求持续更新,优化一刻不停--Tapdata Cloud 2.1.4 来啦! 最新发布的版本中,在新增数据连接之余,默认标记不支持同步的字段类型,避免因此影响任务的正常运行. 更新速览 ① 数 ...
- mysql连接类与ORM的封装
ORM: - ORM什么是? 类名 ---> 数据库表 对象 ---> 记录 对象.属性 ---> 字段 - ORM的优缺点: 优点: 可跨平台,可以通过对象.属性取值,对象.方法, ...
- 分享一个简单的C#的通用DbHelper类(支持数据连接池)
每次新项目的时候,都要从头去找一遍数据库工具类.这里分享一个简单实用的C#的通用DbHelper工具类,支持数据连接池. 连接池配置 <connectionStrings> <add ...
- 帆软报表FineReport中数据连接的JDBC连接池属性问题
连接池原理 在帆软报表FineReport中,连接池主要由三部分组成:连接池的建立.连接池中连接使用的治理.连接池的关闭.下面就着重讨论这三部分及连接池的配置问题. 1. 连接池原理 连接池技术的核心 ...
- Ajax之数据连接信息捕获
connDB.properties: DB_CLASS_NAME=com.mysql.jdbc.Driver DB_URL=jdbc:mysql://127.0.0.1:3306/db_datab ...
- python全栈开发day113-DBUtils(pymysql数据连接池)、Request管理上下文分析
1.DBUtils(pymysql数据连接池) import pymysql from DBUtils.PooledDB import PooledDB POOL = PooledDB( creato ...
- Unity3D连接本地或局域网MySQL数据库
准备工作: 1.打开 Unity3D 安装目录,到这个路径下 Editor > Data > Mono > lib > mono > 2.0 拷贝出下图的五个动态链接库, ...
- 记录一个简单的dbcp数据连接池
这个示例用到了ThreadLocal与dbcp,我觉得有点意思,就整理了下.使用dbcp,肯定要导入commons-dbcp.jar包.下面直接贴DBUtil代码: public class DBUt ...
随机推荐
- idea和eclipse互相导入方法
1.eclipse maven项目导入idea 只需要在pom.xml文件中加入如下图 为了加载项目里的一些配置文件(例如.xml和.properties文件) 2.idea maven 项目导入ec ...
- 面试:A
分析 System.Collections.Generic.List<T> 的 Remove<T> 方法和 Clear 方法的实现细节(不允许使用“移除”“清除”这种概念模糊的 ...
- linux学习9-进程管理知识
Linux 进程管理 实验环境: 用户名:shiyanlou 密码:AJW3tui5 Linux进程之管理控制 实验介绍 通过本实验我们将掌握一些 Linux 所提供的工具来进行进程的查看与控制,掌握 ...
- 【Codeforces 158B】Taxi
[链接] 我是链接,点我呀:) [题意] 每辆车可以载重4个人. 一共有n个组,每个组分别有s[i]个人. 要求每个组的人都在同一辆车里面. 问最少需要多少辆车 [题解] 将每个组的人数从小到大排序. ...
- hdu 4862KM&最小费用最大流
/*最小K路径覆盖的模型,用费用流或者KM算法解决, 构造二部图,X部有N*M个节点,源点向X部每个节点连一条边, 流量1,费用0,Y部有N*M个节点,每个节点向汇点连一条边,流量1, 费用0,如果X ...
- Sencha Touch 2.1 Chart属性中文解释
图表的几大要素: 1.坐标:上.下.左.右. 坐标的类型,数字.分类... 坐标包含需要显示的坐标值,即绑定的字段 坐标值的样式,比如旋转.字体大小.格式 坐标的最大值.最小值.是否显示网格 坐标旁边 ...
- 洛谷—— P1379 八数码难题
https://daniu.luogu.org/problem/show?pid=1379 题目描述 在3×3的棋盘上,摆有八个棋子,每个棋子上标有1至8的某一数字.棋盘中留有一个空格,空格用0来表示 ...
- Javascript:使用jQuery提交Form表单
DEMO说明一切: // this is the id of the form $("#idForm").submit(function() { var url = "p ...
- (二)模板引擎之Velocity脚本基本的语法全
velocity velocity三种reference 变量:对java对象的一种字符串化表示,返回值调用了java的toString()方法的结果. 方法:调用的是对象的某个方法. ...
- 【转】shell中的内建命令, 函数和外部命令
原文:http://www.cnblogs.com/xkfz007/archive/2011/10/13/2209571.html linux命令有内部命令和外部命令之分.内部命令实际上是shell程 ...