数据库通用操作类,自己参照几个通用类改写的,用起来还是蛮不错。。。。  这里用的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的更多相关文章

  1. 深入理解php的MySQL连接类

    php的MySQL连接类.  后面几个show_databases和show_tables....等方法都用了一堆echo,好像一直不喜欢在类的方法里直接用输出语句,不过这也只是列举数据库和表名,构造 ...

  2. Tapdata Cloud 2.1.4 来啦:数据连接又上新,PolarDB MySQL、轻流开始接入,可自动标记不支持的字段类型

      需求持续更新,优化一刻不停--Tapdata Cloud 2.1.4 来啦!   最新发布的版本中,在新增数据连接之余,默认标记不支持同步的字段类型,避免因此影响任务的正常运行. 更新速览 ① 数 ...

  3. mysql连接类与ORM的封装

    ORM: - ORM什么是? 类名 ---> 数据库表 对象 ---> 记录 对象.属性 ---> 字段 - ORM的优缺点: 优点: 可跨平台,可以通过对象.属性取值,对象.方法, ...

  4. 分享一个简单的C#的通用DbHelper类(支持数据连接池)

    每次新项目的时候,都要从头去找一遍数据库工具类.这里分享一个简单实用的C#的通用DbHelper工具类,支持数据连接池. 连接池配置 <connectionStrings> <add ...

  5. 帆软报表FineReport中数据连接的JDBC连接池属性问题

    连接池原理 在帆软报表FineReport中,连接池主要由三部分组成:连接池的建立.连接池中连接使用的治理.连接池的关闭.下面就着重讨论这三部分及连接池的配置问题. 1. 连接池原理 连接池技术的核心 ...

  6. Ajax之数据连接信息捕获

      connDB.properties: DB_CLASS_NAME=com.mysql.jdbc.Driver DB_URL=jdbc:mysql://127.0.0.1:3306/db_datab ...

  7. python全栈开发day113-DBUtils(pymysql数据连接池)、Request管理上下文分析

    1.DBUtils(pymysql数据连接池) import pymysql from DBUtils.PooledDB import PooledDB POOL = PooledDB( creato ...

  8. Unity3D连接本地或局域网MySQL数据库

    准备工作: 1.打开 Unity3D 安装目录,到这个路径下 Editor > Data > Mono > lib > mono > 2.0 拷贝出下图的五个动态链接库, ...

  9. 记录一个简单的dbcp数据连接池

    这个示例用到了ThreadLocal与dbcp,我觉得有点意思,就整理了下.使用dbcp,肯定要导入commons-dbcp.jar包.下面直接贴DBUtil代码: public class DBUt ...

随机推荐

  1. Java报表统计导出Word-xdocin方式

    官网:http://www.xdocin.com Controller层: //创建对象 XDocService xdocService = new XDocService(); //封装参数 Map ...

  2. auto类型推导

    引言 auto : 类型推导. 在使用c++的时候会经常使用, 就像在考虑STL时迭代器类型, 写模板的时候使用auto能少写代码, 也能帮助我们避免一些隐患的细节. auto初始化 使用auto型别 ...

  3. jdk编译安装及tomcat编译安装

    这里我安装的jdk版本为1.8版本,tomcat版本为8.5(请上官网下载) 运维开发技术交流群欢迎大家加入一起学习(QQ:722381733) jdk部署: 1.前往软件所在路径 [root@web ...

  4. hdu 5179 beautiful number

    beautiful number 问题描述 令 A = \sum_{i=1}^{n}a_i * {10}^{n-i}(1\leq a_i \leq 9)A=∑​i=1​n​​a​i​​∗10​n−i​ ...

  5. libcloud代码研究(一)——基本架构

    libcloud是apache下整合多种云服务接口的项目.最近,在研究libcloud代码的同时,将阿里云存储(Ali OSS)和百度云存储用libcloud storage driver规范进行封装 ...

  6. Mac下使用OpenMP

    Mac下使用OpenMP,修改Build Options 下面的compiler for c/c++/objective-C 为 LLVM GCC 4.2 - Language 则可以找到Enable ...

  7. 【从0開始Tornado建站】发表文章和评论

            先上个效果图: 这是每一个用户的主页.由于是基本功能.所以用户头像.爱好等信息都还没有,在下一阶段加上.右側"发表新文章"按钮点击后进入发表文章的页面: 之前尝试过 ...

  8. [Windows]_[0基础]_[Release程序的崩溃报告minidump解决方式]

    场景: 1. Release的程序崩溃时,崩溃报告能够让开发者查明代码哪里出了问题,用处大大的. 2. 仅仅实用VS的编译器才支持,所以MinGW就无缘了. 3. 使用了未处理异常过滤处理函数. 4. ...

  9. QT中使用高速排序

    今天想到了用QT做一个高速排序.所以研究了一下. 由于用习惯了,C++的std::sort.就算是C的时候也用得是stdlib.h中的qsort. 手写板 手写板的快排事实上不难,仅仅是自从用C++打 ...

  10. but no declaration can be found for element &#39;aop:aspectj-autoproxy&#39;.

    1.错误描写叙述 Multiple annotations found at this line: - cvc-complex-type.2.4.c: The matching wildcard is ...