我经常使用的数据支持模块
2010-02-03 20:57
211 查看
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
namespace MyDAL
{
/// <summary>
/// 数据支持模块
/// </summary>
public static class DBHelper
{
/// <summary>
/// 连接器对象
/// </summary>
private static SqlConnection connection;
public static SqlConnection Connection
{
get
{
string connectionString = ConfigurationSettings.AppSettings["ConnectionString2008"].ToString();
if (connection == null)
{
connection = new SqlConnection(connectionString);
connection.Open();
}
else if (connection.State == System.Data.ConnectionState.Closed)
{
connection.Open();
}
else if (connection.State == System.Data.ConnectionState.Broken)
{
connection.Close();
connection.Open();
}
return connection;
}
}
/// <summary>
/// 执行功能语句
/// </summary>
/// <param name="safeSql">SQL语句</param>
/// <returns>执行条数</returns>
public static int ExecuteCommand(string safeSql)
{
SqlCommand cmd = new SqlCommand(safeSql, Connection);
int result = cmd.ExecuteNonQuery();
return result;
}
/// <summary>
/// 执行功能语句
/// </summary>
/// <param name="sql">SQL语句</param>
/// <param name="values">SQL条件参数</param>
/// <returns>执行条数</returns>
public static int ExecuteCommand(string sql, params SqlParameter[] values)
{
SqlCommand cmd = new SqlCommand(sql, Connection);
cmd.Parameters.AddRange(values);
return cmd.ExecuteNonQuery();
}
/// <summary>
/// 执行统计查询语句
/// </summary>
/// <param name="safeSql">SQL语句</param>
/// <returns>符合条件数目</returns>
public static int GetScalar(string safeSql)
{
SqlCommand cmd = new SqlCommand(safeSql, Connection);
int result = Convert.ToInt32(cmd.ExecuteScalar());
return result;
}
/// <summary>
/// 执行统计查询语句
/// </summary>
/// <param name="sql">SQL语句</param>
/// <param name="values">SQL条件参数</param>
/// <returns>符合条件数目</returns>
public static int GetScalar(string sql, params SqlParameter[] values)
{
SqlCommand cmd = new SqlCommand(sql, Connection);
cmd.Parameters.AddRange(values);
int result = Convert.ToInt32(cmd.ExecuteScalar());
return result;
}
/// <summary>
/// 执行统计查询语句
/// </summary>
/// <param name="safeSql">SQL语句</param>
/// <returns>结果</returns>
public static object GetScalarToObj(string safeSql)
{
SqlCommand cmd = new SqlCommand(safeSql, Connection);
return cmd.ExecuteScalar();
}
/// <summary>
/// 执行统计查询语句
/// </summary>
/// <param name="sql">SQL语句</param>
/// <param name="values">SQL条件参数</param>
/// <returns>结果</returns>
public static object GetScalarToObj(string sql, params SqlParameter[] values)
{
SqlCommand cmd = new SqlCommand(sql, Connection);
cmd.Parameters.AddRange(values);
return cmd.ExecuteScalar();
}
/// <summary>
/// 执行单条数据查询语句
/// </summary>
/// <param name="safeSql">SQL语句</param>
/// <returns>查询结果</returns>
public static SqlDataReader GetReader(string safeSql)
{
SqlCommand cmd = new SqlCommand(safeSql, Connection);
SqlDataReader reader = cmd.ExecuteReader();
return reader;
}
/// <summary>
/// 执行单条查询语句
/// </summary>
/// <param name="sql">SQL语句</param>
/// <param name="values">SQL条件参数</param>
/// <returns>查询结果</returns>
public static SqlDataReader GetReader(string sql, params SqlParameter[] values)
{
SqlCommand cmd = new SqlCommand(sql, Connection);
cmd.Parameters.AddRange(values);
SqlDataReader reader = cmd.ExecuteReader();
return reader;
}
/// <summary>
/// 执行多数据查询语句
/// </summary>
/// <param name="safeSql">SQL语句</param>
/// <returns>查询结果集</returns>
public static DataTable GetDataSet(string safeSql)
{
DataSet ds = new DataSet();
SqlCommand cmd = new SqlCommand(safeSql, Connection);
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds);
return ds.Tables[0];
}
/// <summary>
/// 执行多数据查询语句
/// </summary>
/// <param name="sql">SQL语句</param>
/// <param name="values">SQL条件参数<
4000
/param>
/// <returns>查询结果集</returns>
public static DataTable GetDataSet(string sql, params SqlParameter[] values)
{
DataSet ds = new DataSet();
SqlCommand cmd = new SqlCommand(sql, Connection);
cmd.Parameters.AddRange(values);
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds);
return ds.Tables[0];
}
/// <summary>
/// 说 明: 返回数据集的表的集合
/// 返回值: 数据源的数据表
/// 参 数: myCmd 执行SQL语句命令的SqlCommand对象,TableName 数据表名称
/// </summary>
public static DataTable GetDataSet(SqlCommand myCmd, string TableName)
{
SqlDataAdapter adapt;
DataSet ds = new DataSet();
try
{
if (myCmd.Connection.State != ConnectionState.Open)
{
myCmd.Connection.Open();
}
adapt = new SqlDataAdapter(myCmd);
adapt.Fill(ds, TableName);
return ds.Tables[TableName];
}
catch (Exception ex)
{
throw new Exception(ex.Message, ex);
}
finally
{
if (myCmd.Connection.State == ConnectionState.Open)
{
myCmd.Connection.Close();
}
}
}
/// <summary>
/// 执行存储过程语句,返回sqlCommand类对象
/// </summary>
/// <param name="strProcName">存储过程名</param>
/// <returns>返回sqlCommand类对象</returns>
public static SqlCommand GetCommandProc(string strProcName)
{
SqlCommand myCmd = new SqlCommand();
myCmd.Connection = Connection;
myCmd.CommandText = strProcName;
myCmd.CommandType = CommandType.StoredProcedure;
return myCmd;
}
/// <summary>
/// 执行SQL语句
/// </summary>
/// <param name="myCmd">执行SQL语句命令的SqlCommand对象</param>
public static void ExecNonQuery(SqlCommand myCmd)
{
try
{
if (myCmd.Connection.State != ConnectionState.Open)
{
myCmd.Connection.Open(); //打开与数据库的连接
}
//使用SqlCommand对象的ExecuteNonQuery方法执行SQL语句,并返回受影响的行数
myCmd.ExecuteNonQuery();
}
catch (Exception ex)
{
throw new Exception(ex.Message, ex);
}
finally
{
if (myCmd.Connection.State == ConnectionState.Open)
{
myCmd.Connection.Close(); //关闭与数据库的连接
}
}
}
/// <summary>
/// 说 明: 执行SQL语句,返回数据源的数据表
/// 返回值: 数据源的数据表DataTable
/// 参 数: sqlStr执行的SQL语句,TableName 数据表名称
/// </summary>
public static DataTable GetDataSetStr(string sqlStr, string TableName)
{
SqlConnection myConn = Connection;
DataSet ds = new DataSet();
SqlDataAdapter adapt = new SqlDataAdapter(sqlStr, Connection);
adapt.Fill(ds, TableName);
myConn.Close();
return ds.Tables[TableName];
}
/// <summary>
/// 执行查询,并返回查询所返回的结果集中第一行的第一列。所有其他的列和行将被忽略。
/// </summary>
/// <param name="myCmd"></param>
/// <returns>执行SQL语句命令的SqlCommand对象</returns>
public static string ExecScalar(SqlCommand myCmd)
{
string strSql;
try
{
if (myCmd.Connection.State != ConnectionState.Open)
{
myCmd.Connection.Open(); //打开与数据库的连接
}
//使用SqlCommand对象的ExecuteScalar方法执行查询,并返回查询所返回的结果集中第一行的第一列。所有其他的列和行将被忽略。
strSql = Convert.ToString(myCmd.ExecuteScalar());
return strSql;
}
catch (Exception ex)
{
throw new Exception(ex.Message, ex);
}
finally
{
if (myCmd.Connection.State == ConnectionState.Open)
{
myCmd.Connection.Close();//关闭与数据库的连接
}
}
}
/// <summary>
/// 执行查询语句,返回sqlCommand类对象
/// </summary>
/// <param name="strSql">查询语句</param>
/// <returns>返回sqlCommand类对象</returns>
public static SqlCommand GetCommandStr(string strSql)
{
SqlConnection myConn = Connection;
SqlCommand myCmd = new SqlCommand();
myCmd.Connection = myConn;
myCmd.CommandText = strSql;
myCmd.CommandType = CommandType.Text;
return myCmd;
}
}
}
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
namespace MyDAL
{
/// <summary>
/// 数据支持模块
/// </summary>
public static class DBHelper
{
/// <summary>
/// 连接器对象
/// </summary>
private static SqlConnection connection;
public static SqlConnection Connection
{
get
{
string connectionString = ConfigurationSettings.AppSettings["ConnectionString2008"].ToString();
if (connection == null)
{
connection = new SqlConnection(connectionString);
connection.Open();
}
else if (connection.State == System.Data.ConnectionState.Closed)
{
connection.Open();
}
else if (connection.State == System.Data.ConnectionState.Broken)
{
connection.Close();
connection.Open();
}
return connection;
}
}
/// <summary>
/// 执行功能语句
/// </summary>
/// <param name="safeSql">SQL语句</param>
/// <returns>执行条数</returns>
public static int ExecuteCommand(string safeSql)
{
SqlCommand cmd = new SqlCommand(safeSql, Connection);
int result = cmd.ExecuteNonQuery();
return result;
}
/// <summary>
/// 执行功能语句
/// </summary>
/// <param name="sql">SQL语句</param>
/// <param name="values">SQL条件参数</param>
/// <returns>执行条数</returns>
public static int ExecuteCommand(string sql, params SqlParameter[] values)
{
SqlCommand cmd = new SqlCommand(sql, Connection);
cmd.Parameters.AddRange(values);
return cmd.ExecuteNonQuery();
}
/// <summary>
/// 执行统计查询语句
/// </summary>
/// <param name="safeSql">SQL语句</param>
/// <returns>符合条件数目</returns>
public static int GetScalar(string safeSql)
{
SqlCommand cmd = new SqlCommand(safeSql, Connection);
int result = Convert.ToInt32(cmd.ExecuteScalar());
return result;
}
/// <summary>
/// 执行统计查询语句
/// </summary>
/// <param name="sql">SQL语句</param>
/// <param name="values">SQL条件参数</param>
/// <returns>符合条件数目</returns>
public static int GetScalar(string sql, params SqlParameter[] values)
{
SqlCommand cmd = new SqlCommand(sql, Connection);
cmd.Parameters.AddRange(values);
int result = Convert.ToInt32(cmd.ExecuteScalar());
return result;
}
/// <summary>
/// 执行统计查询语句
/// </summary>
/// <param name="safeSql">SQL语句</param>
/// <returns>结果</returns>
public static object GetScalarToObj(string safeSql)
{
SqlCommand cmd = new SqlCommand(safeSql, Connection);
return cmd.ExecuteScalar();
}
/// <summary>
/// 执行统计查询语句
/// </summary>
/// <param name="sql">SQL语句</param>
/// <param name="values">SQL条件参数</param>
/// <returns>结果</returns>
public static object GetScalarToObj(string sql, params SqlParameter[] values)
{
SqlCommand cmd = new SqlCommand(sql, Connection);
cmd.Parameters.AddRange(values);
return cmd.ExecuteScalar();
}
/// <summary>
/// 执行单条数据查询语句
/// </summary>
/// <param name="safeSql">SQL语句</param>
/// <returns>查询结果</returns>
public static SqlDataReader GetReader(string safeSql)
{
SqlCommand cmd = new SqlCommand(safeSql, Connection);
SqlDataReader reader = cmd.ExecuteReader();
return reader;
}
/// <summary>
/// 执行单条查询语句
/// </summary>
/// <param name="sql">SQL语句</param>
/// <param name="values">SQL条件参数</param>
/// <returns>查询结果</returns>
public static SqlDataReader GetReader(string sql, params SqlParameter[] values)
{
SqlCommand cmd = new SqlCommand(sql, Connection);
cmd.Parameters.AddRange(values);
SqlDataReader reader = cmd.ExecuteReader();
return reader;
}
/// <summary>
/// 执行多数据查询语句
/// </summary>
/// <param name="safeSql">SQL语句</param>
/// <returns>查询结果集</returns>
public static DataTable GetDataSet(string safeSql)
{
DataSet ds = new DataSet();
SqlCommand cmd = new SqlCommand(safeSql, Connection);
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds);
return ds.Tables[0];
}
/// <summary>
/// 执行多数据查询语句
/// </summary>
/// <param name="sql">SQL语句</param>
/// <param name="values">SQL条件参数<
4000
/param>
/// <returns>查询结果集</returns>
public static DataTable GetDataSet(string sql, params SqlParameter[] values)
{
DataSet ds = new DataSet();
SqlCommand cmd = new SqlCommand(sql, Connection);
cmd.Parameters.AddRange(values);
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds);
return ds.Tables[0];
}
/// <summary>
/// 说 明: 返回数据集的表的集合
/// 返回值: 数据源的数据表
/// 参 数: myCmd 执行SQL语句命令的SqlCommand对象,TableName 数据表名称
/// </summary>
public static DataTable GetDataSet(SqlCommand myCmd, string TableName)
{
SqlDataAdapter adapt;
DataSet ds = new DataSet();
try
{
if (myCmd.Connection.State != ConnectionState.Open)
{
myCmd.Connection.Open();
}
adapt = new SqlDataAdapter(myCmd);
adapt.Fill(ds, TableName);
return ds.Tables[TableName];
}
catch (Exception ex)
{
throw new Exception(ex.Message, ex);
}
finally
{
if (myCmd.Connection.State == ConnectionState.Open)
{
myCmd.Connection.Close();
}
}
}
/// <summary>
/// 执行存储过程语句,返回sqlCommand类对象
/// </summary>
/// <param name="strProcName">存储过程名</param>
/// <returns>返回sqlCommand类对象</returns>
public static SqlCommand GetCommandProc(string strProcName)
{
SqlCommand myCmd = new SqlCommand();
myCmd.Connection = Connection;
myCmd.CommandText = strProcName;
myCmd.CommandType = CommandType.StoredProcedure;
return myCmd;
}
/// <summary>
/// 执行SQL语句
/// </summary>
/// <param name="myCmd">执行SQL语句命令的SqlCommand对象</param>
public static void ExecNonQuery(SqlCommand myCmd)
{
try
{
if (myCmd.Connection.State != ConnectionState.Open)
{
myCmd.Connection.Open(); //打开与数据库的连接
}
//使用SqlCommand对象的ExecuteNonQuery方法执行SQL语句,并返回受影响的行数
myCmd.ExecuteNonQuery();
}
catch (Exception ex)
{
throw new Exception(ex.Message, ex);
}
finally
{
if (myCmd.Connection.State == ConnectionState.Open)
{
myCmd.Connection.Close(); //关闭与数据库的连接
}
}
}
/// <summary>
/// 说 明: 执行SQL语句,返回数据源的数据表
/// 返回值: 数据源的数据表DataTable
/// 参 数: sqlStr执行的SQL语句,TableName 数据表名称
/// </summary>
public static DataTable GetDataSetStr(string sqlStr, string TableName)
{
SqlConnection myConn = Connection;
DataSet ds = new DataSet();
SqlDataAdapter adapt = new SqlDataAdapter(sqlStr, Connection);
adapt.Fill(ds, TableName);
myConn.Close();
return ds.Tables[TableName];
}
/// <summary>
/// 执行查询,并返回查询所返回的结果集中第一行的第一列。所有其他的列和行将被忽略。
/// </summary>
/// <param name="myCmd"></param>
/// <returns>执行SQL语句命令的SqlCommand对象</returns>
public static string ExecScalar(SqlCommand myCmd)
{
string strSql;
try
{
if (myCmd.Connection.State != ConnectionState.Open)
{
myCmd.Connection.Open(); //打开与数据库的连接
}
//使用SqlCommand对象的ExecuteScalar方法执行查询,并返回查询所返回的结果集中第一行的第一列。所有其他的列和行将被忽略。
strSql = Convert.ToString(myCmd.ExecuteScalar());
return strSql;
}
catch (Exception ex)
{
throw new Exception(ex.Message, ex);
}
finally
{
if (myCmd.Connection.State == ConnectionState.Open)
{
myCmd.Connection.Close();//关闭与数据库的连接
}
}
}
/// <summary>
/// 执行查询语句,返回sqlCommand类对象
/// </summary>
/// <param name="strSql">查询语句</param>
/// <returns>返回sqlCommand类对象</returns>
public static SqlCommand GetCommandStr(string strSql)
{
SqlConnection myConn = Connection;
SqlCommand myCmd = new SqlCommand();
myCmd.Connection = myConn;
myCmd.CommandText = strSql;
myCmd.CommandType = CommandType.Text;
return myCmd;
}
}
}
相关文章推荐
- VB数组排序模块,使用的是快速排序法,支持 Variant、Double、Long、String……等多种数据类型数组排序。
- python数据持久存储:pickle模块的使用
- nodejs模块nodemailer基本使用-邮件发送(支持附件)
- python模块介绍- base64 使用ASCII编码二进制数据
- nodejs模块nodemailer基本使用-邮件发送示例(支持附件)
- NodeJS经常使用模块收集
- JSON 、使用JSON实现数据交换 、jQuery对AJAX的支持
- nginx使用ssl模块配置HTTPS支持
- ansible经常使用模块使用方法
- nginx使用ssl模块配置支持HTTPS访问
- 完成了WF工作流持久化和对持久化介质数据的加载, 但是仅仅用持久化,不能够保存工作流当前的执行状态,需要跟踪服务支持,怎样使用Tracing 服务呢?
- Redis系列二:Redis支持的数据类型和使用方法(一)
- Python使用sqlite3模块进行带参数数据查询时报错
- 新闻模块之新闻列表-使用datalist 模块获取数据-BLL类(Linq方式)
- 使用IIS7官方的Url重写模块,为 Discuz!NT 添加伪静态支持
- 新闻模块之图片新闻列表-使用datalist 模块获取图片新闻数据-页面表示层(Linq方式)-3
- iOS 为支持ipv6 最新 AFNetWorking 3.0 数据请求基本使用。
- 使用struct模块从定宽数据文件导入数据
- 使用node的http模块实现爬虫功能,并把爬到的数据存入mongondb
- nginx使用ssl模块配置支持HTTPS访问 AND 开启gzip