数据库通用操作类,自己参照几个通用类改写的,用起来还是蛮不错。。。。  这里用的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. Lua练习题集嚢

    --1.table.sort() am = {"cc","nn","ll","dd"} arr = function ( ...

  2. js的StringBuffer类

    function StringBuffer(str){ var arr = []; str = str || ""; arr.push(str); this.append = fu ...

  3. HDU 4027(线段树)

    HDU4027 题意:操作指令为0时,对区间[x,y]之间的数字进行开平方:指令为1的时候,对区间[x,y]之间的数字求和并输出: 思路:线段树处理就OK了,但是64位内的数最多开8次平方就为1了(开 ...

  4. 4.bool组合查询

    主要知识: 学习bool组合查询 bool嵌套     1.搜索发帖日期为2017-01-01,或者帖子ID为XHDK-A-1293-#fJ3的帖子,同时要求帖子的发帖日期绝对不为2017-01-02 ...

  5. GitHub:创建和修改远程仓库

    创建远程仓库 首先在GitHub上创建一个仓库命名为learngit.选中public(private要钱),选中 生成README(就是markdown形式的说明文档),便于别人和自己了解仓库的作用 ...

  6. android 数据存储之SQLite

    使用嵌入式关系型SQLite数据库存储数据 除了可以使用文件或SharedPreferences存储数据,还可以选择使用SQLite数据库存储数据. 在Android平台上,集成了一个嵌入式关系型数据 ...

  7. 手机版地图api

    手机版地图api一: <iframe style="height:300px;" src="http://map.baidu.com/mobile/webapp/s ...

  8. qwb与小数

    qwb与小数 Time Limit: 1 Sec  Memory Limit: 128 MB Description qwb遇到了一个问题:将分数a/b化为小数后,小数点后第n位的数字是多少? 做了那 ...

  9. noip模拟赛 浮游大陆的68号岛

    题目描述 妖精仓库里生活着黄金妖精们,她们过着快乐,却随时准备着迎接死亡的生活. 换用更高尚的说法,是随时准备着为这个无药可救的世界献身. 然而孩子们的生活却总是无忧无虑的,幼体的黄金妖精们过着天真烂 ...

  10. 如何实现在scrapy调试爬虫

    # -*- coding:utf-8 -*- from scrapy.cmdline import execute import sys import os '''在爬虫文件夹下面自定义一个main. ...