add name=ConnStr connectionString=Data Source=.;Initial Catalog=test;User ID=sa;Password=123456/ using System;using System.Configuration;using System.Data;using System.Data.SqlClient;using S...
<add name="ConnStr" connectionString="Data Source=.;Initial Catalog=test;User ID=sa;Password=123456"/>
using System;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Collections;
namespace MyTest.common
{
public abstract class SqlHelper
{
public static readonly string ConnStr = ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString;
private static Hashtable m_ParmCache = Hashtable.Synchronized(new Hashtable());
/// <summary>
/// depiction:SQL执行无返回结果的操作
/// </summary>
/// <param name="<connectionString>"><数据库链接串></param>
/// <param name="<cmdType>"><执行SQL或存储过程 CommandType.Text|CommandType.StoredProcedure></param>
/// <param name="<cmdText>"><执行SQL或存储过程名称></param>
/// <param name="<commandParameters>"><参数集></param>
/// <returns>
///<对方法返回值的说明,该说明必须明确说明返回的值代表什么含义>
/// </returns>
public static int ExecuteNonQuery(string connectionString, CommandType cmdType, string cmdText, params SqlParameter[] commandParameters)
{
SqlCommand cmd = new SqlCommand();
using (SqlConnection conn = new SqlConnection(connectionString))
{
PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);
int val = cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
return val;
}
}
/// <summary>
/// depiction:SQL执行无返回结果的操作
/// </summary>
/// <param name="<connection>"><数据库连接></param>
/// <param name="<cmdType>"><执行SQL或存储过程 CommandType.Text|CommandType.StoredProcedure></param>
/// <param name="<cmdText>"><执行SQL或存储过程名称></param>
/// <param name="<commandParameters>"><参数集></param>
/// <returns>
///<对方法返回值的说明,该说明必须明确说明返回的值代表什么含义>
/// </returns>
public static int ExecuteNonQuery(SqlConnection connection, CommandType cmdType, string cmdText, params SqlParameter[] commandParameters)
{
SqlCommand cmd = new SqlCommand();
PrepareCommand(cmd, connection, null, cmdType, cmdText, commandParameters);
int val = cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
return val;
}
/// <summary>
/// depiction:SQL执行无返回结果的操作(存在事务操作)
/// </summary>
/// <param name="<trans>"><事务></param>
/// <param name="<cmdType>"><执行SQL或存储过程 CommandType.Text|CommandType.StoredProcedure></param>
/// <param name="<cmdText>"><执行SQL或存储过程名称></param>
/// <param name="<commandParameters>"><参数集></param>
/// <returns>
///<对方法返回值的说明,该说明必须明确说明返回的值代表什么含义>
/// </returns>
public static int ExecuteNonQuery(SqlTransaction trans, CommandType cmdType, string cmdText, params SqlParameter[] commandParameters)
{
SqlCommand cmd = new SqlCommand();
PrepareCommand(cmd, trans.Connection, trans, cmdType, cmdText, commandParameters);
int val = cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
return val;
}
/// <summary>
/// depiction:SQL执行返回返回数据集SqlDataReader
/// </summary>
/// <param name="<connectionString>"><数据库连接串></param>
/// <param name="<cmdType>"><执行SQL或存储过程 CommandType.Text|CommandType.StoredProcedure></param>
/// <param name="<cmdText>"><执行SQL或存储过程名称></param>
/// <param name="<commandParameters>"><参数集></param>
/// <returns>
/// <返回数据集SqlDataReader>
/// </returns>
public static SqlDataReader ExecuteReader(string connectionString, CommandType cmdType, string cmdText, params SqlParameter[] commandParameters)
{
SqlCommand cmd = new SqlCommand();
SqlConnection conn = new SqlConnection(connectionString);
try
{
PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);
SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
cmd.Parameters.Clear();
return rdr;
}
catch
{
conn.Close();
throw;
}
}
/// <summary>
/// depiction:SQL执行返回值
/// </summary>
/// <param name="<connectionString>"><数据库连接串></param>
/// <param name="<cmdType>"><执行SQL或存储过程 CommandType.Text|CommandType.StoredProcedure></param>
/// <param name="<cmdText>"><执行SQL或存储过程名称></param>
/// <param name="<commandParameters>"><参数集></param>
/// <returns>
/// <返回数据集SqlDataReader>
/// </returns>
public static object ExecuteScalar(string connectionString, CommandType cmdType, string cmdText, params SqlParameter[] commandParameters)
{
SqlCommand cmd = new SqlCommand();
using (SqlConnection connection = new SqlConnection(connectionString))
{
PrepareCommand(cmd, connection, null, cmdType, cmdText, commandParameters);
object val = cmd.ExecuteScalar();
cmd.Parameters.Clear();
return val;
}
}
/// <summary>
/// depiction:SQL执行返回值
/// </summary>
/// <param name="<connection>"><数据库连接></param>
/// <param name="<cmdType>"><执行SQL或存储过程 CommandType.Text|CommandType.StoredProcedure></param>
/// <param name="<cmdText>"><执行SQL或存储过程名称></param>
/// <param name="<commandParameters>"><参数集></param>
/// <returns>
/// <返回SQL执行结果>
/// </returns>
public static object ExecuteScalar(SqlConnection connection, CommandType cmdType, string cmdText, params SqlParameter[] commandParameters)
{
SqlCommand cmd = new SqlCommand();
PrepareCommand(cmd, connection, null, cmdType, cmdText, commandParameters);
object val = cmd.ExecuteScalar();
cmd.Parameters.Clear();
return val;
}
public static void CacheParameters(string cacheKey, params SqlParameter[] commandParameters)
{
m_ParmCache[cacheKey] = commandParameters;
}
/// <summary>
/// depiction:SQL执行返回DataTable
/// </summary>
/// <param name="<connectionString>"><数据库连接串></param>
/// <param name="<cmdType>"><执行SQL或存储过程 CommandType.Text|CommandType.StoredProcedure></param>
/// <param name="<cmdText>"><执行SQL或存储过程名称></param>
/// <param name="<commandParameters>"><参数集></param>
/// <returns>
/// <返回数据集DataTable>
/// </returns>
public static DataTable GetTable(string connectionString, CommandType cmdType, string cmdText, params SqlParameter[] commandParameters)
{
DataTable dt = new DataTable();
SqlCommand cmd = new SqlCommand();
using (SqlConnection conn = new SqlConnection(connectionString))
{
PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cmd;
da.Fill(dt);
}
return dt;
}
/// <summary>
/// depiction:SQL执行返回DataSet
/// </summary>
/// <param name="<connectionString>"><数据库连接串></param>
/// <param name="<cmdType>"><执行SQL或存储过程 CommandType.Text|CommandType.StoredProcedure></param>
/// <param name="<cmdText>"><执行SQL或存储过程名称></param>
/// <param name="<commandParameters>"><参数集></param>
/// <returns>
/// <返回数据集DataSet>
/// </returns>
public static DataSet GetDataSet(string connectionString, CommandType cmdType, string cmdText, params SqlParameter[] commandParameters)
{
DataSet ds = new DataSet();
SqlCommand cmd = new SqlCommand();
using (SqlConnection conn = new SqlConnection(connectionString))
{
PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cmd;
da.Fill(ds);
}
return ds;
}
public static SqlParameter[] GetCachedParameters(string cacheKey)
{
SqlParameter[] cachedParms = (SqlParameter[])m_ParmCache[cacheKey];
if (cachedParms == null)
return null;
SqlParameter[] clonedParms = new SqlParameter[cachedParms.Length];
for (int i = 0, j = cachedParms.Length; i < j; i++)
clonedParms[i] = (SqlParameter)((ICloneable)cachedParms[i]).Clone();
return clonedParms;
}
private static void PrepareCommand(SqlCommand cmd, SqlConnection conn, SqlTransaction trans, CommandType cmdType, string cmdText, SqlParameter[] cmdParms)
{
if (conn.State != ConnectionState.Open)
conn.Open();
cmd.Connection = conn;
cmd.CommandText = cmdText;
if (trans != null)
cmd.Transaction = trans;
cmd.CommandType = cmdType;
if (cmdParms != null)
{
foreach (SqlParameter parm in cmdParms)
cmd.Parameters.Add(parm);
}
}
public static string ConnStr1 { get; set; }
}
}
沃梦达教程
本文标题为:C#之SqlHelper
猜你喜欢
- CentOS部署ASP NetCore网站守护Supervisor守护进程的坑坑 2023-09-27
- C# NullReferenceException解决案例讲解 2023-04-27
- 人脸认证源码faceIdentify详解 2023-01-28
- Unity实现俄罗斯方块(二) 2023-03-03
- c# 引用Nlog插件的步骤 2023-04-14
- asp.net core 使用 tensorflowjs实现 face recognition的源代码 2023-04-22
- C#中数组扩容的几种方式介绍 2023-07-04
- UnityShader使用图像叠加实现运动模糊 2023-01-16
- .net core web api部署到Linux系统CentOS 7上 2023-09-26
- CAD2008+VS2008开发ObjectARX加载失败问题(推荐) 2023-02-16
