数据库通用操作类,自己参照几个通用类改写的,用起来还是蛮不错。。。。  这里用的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. 新建python的虚拟环境

    1.mkvirutalenv --python=E:\Users\00\AppData\Local\Programs\Python\Python37-32\python.exe article_spi ...

  2. 【Apache Kafka】一、Kafka简介及其基本原理

      对于大数据,我们要考虑的问题有很多,首先海量数据如何收集(如Flume),然后对于收集到的数据如何存储(典型的分布式文件系统HDFS.分布式数据库HBase.NoSQL数据库Redis),其次存储 ...

  3. vue-cli3 中的环境变量

    官方文档是这样写的: src同名文件夹下的建立 .env.[model] 配置文件  // mode:production development ... 载入的变量会对vue-cli-service ...

  4. POJ1161——The Suspects

    POJ1161——The Suspects   The Suspects Time Limit: 1000MS   Memory Limit: 20000K Total Submissions: 48 ...

  5. 用Twebbrowser做可控编辑器与MSHTML

    首先要明白mshtml的属性方法: {IHTMLDocument2 方法:} write //写入 writeln //写入并换行 open //打开一个流,以收集 document.write 或 ...

  6. 2.3. Configuring sudo Access-RedHat

    https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux_OpenStack_Platform/2/html/Get ...

  7. hdu_1036_Average is not Fast Enough_201311021335

    Average is not Fast Enough! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (J ...

  8. ELECTRON新增模块的方法

    因为electron和node.js用的V8版本不一致,所以直接使用npm安装的模块可能在electron中不可用,特别是使用c.c++开发的模块.官方的说明:https://github.com/e ...

  9. HDU 5467

    第一次写LCT,各种模板加入...以后都只遇到有新意的题目再更新了 这道题就是LCT,但是,难在一个回退的操作.这时,可以通过改变执行顺序,先把要回退后再做的操作先执行了,再回退到之前的执行.这时,建 ...

  10. 切换到android studio遇到的svn问题

    眼下的android studio 2.0(包括preview版)都已经把git.svn,cvs 等工具集成进来了.所以,我们仅仅须要依据代码server选择使用就可以. 这里以开源中国上的git私有 ...