
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
namespace ZhiDianDAL
{
public class DBHelper
{
/// <summary>
/// 数据库连接对象
/// </summary>
private SqlConnection con;
public DBHelper()
{
con = CreateConnection();
}
/// <summary>
/// 创建数据库连接对象
/// </summary>
/// <returns></returns>
public SqlConnection CreateConnection()
{
string conStr = ConfigurationManager.ConnectionStrings["sqlconnectionstring"].ToString();
return new SqlConnection(conStr);
}
/// <summary>
/// 创建执行存储过程的command对象
/// </summary>
/// <param name="storedProcedure"></param>
/// <returns></returns>
public SqlCommand GetStoredProcCommand(string procName)
{
SqlCommand cmd = con.CreateCommand();
cmd.CommandText = procName;
cmd.CommandType = CommandType.StoredProcedure;
return cmd;
}
/// <summary>
/// 创建执行普通sql语句的command对象
/// </summary>
/// <param name="sqlStr"></param>
/// <returns></returns>
public SqlCommand GetSqlStringCommand(string sqlStr)
{
SqlCommand cmd = con.CreateCommand();
cmd.CommandText = sqlStr;
cmd.CommandType = CommandType.Text;
return cmd;
}
/// <summary>
/// 增加参数
/// </summary>
/// <param name="cmd"></param>
/// <param name="dbParameterCollection"></param>
public void AddParameter(SqlCommand cmd, List<SqlParameter> list)
{
foreach (SqlParameter param in list)
{
cmd.Parameters.Add(param);
}
}
/// <summary>
/// 给存储过程增加输入参数
/// </summary>
/// <param name="cmd"></param>
/// <param name="parameterName"></param>
/// <param name="dbType"></param>
/// <param name="value"></param>
public void AddInParameter(SqlCommand cmd, string parameterName, DbType dbType, object value)
{
SqlParameter dbParameter = cmd.CreateParameter();
dbParameter.DbType = dbType;
dbParameter.ParameterName = parameterName;
dbParameter.Value = value;
dbParameter.Direction = ParameterDirection.Input;
cmd.Parameters.Add(dbParameter);
}
/// <summary>
/// 给存储过程增加返回参数
/// </summary>
/// <param name="cmd"></param>
/// <param name="parameterName"></param>
/// <param name="dbType"></param>
public void AddReturnParameter(SqlCommand cmd, string parameterName, DbType dbType)
{
SqlParameter dbParameter = cmd.CreateParameter();
dbParameter.DbType = dbType;
dbParameter.ParameterName = parameterName;
dbParameter.Direction = ParameterDirection.ReturnValue;
cmd.Parameters.Add(dbParameter);
}
/// <summary>
/// 取得参数
/// </summary>
/// <param name="cmd"></param>
/// <param name="parameterName"></param>
/// <returns></returns>
public SqlParameter GetParameter(SqlCommand cmd, string parameterName)
{
return cmd.Parameters[parameterName];
}
/// <summary>
/// 执行返回DataTable
/// </summary>
/// <param name="cmd"></param>
/// <returns></returns>
public DataTable ExecuteDataTable(SqlCommand cmd)
{
try
{
SqlDataAdapter adapter = new SqlDataAdapter();
adapter.SelectCommand = cmd;
DataTable dataTable = new DataTable();
adapter.Fill(dataTable);
return dataTable;
}
catch (Exception ex)
{
throw ex;
}
}
/// <summary>
/// 执行返回受影响行数
/// </summary>
/// <param name="cmd"></param>
/// <returns></returns>
public int ExecuteNonQuery(SqlCommand cmd)
{
int count = 0;
try
{
cmd.Connection.Open();
count = cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
throw ex;
}
finally
{
cmd.Connection.Close();
}
return count;
}
/// <summary>
/// 执行返回首行首列的值
/// </summary>
/// <param name="cmd"></param>
/// <returns></returns>
public object ExecuteScalar(SqlCommand cmd)
{
Object obj = null;
try
{
cmd.Connection.Open();
obj = cmd.ExecuteScalar();
}
catch (Exception ex)
{
throw ex;
}
finally
{
cmd.Connection.Close();
}
return obj;
}
}
}
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
namespace ZhiDianDAL
{
public class DBHelper
{
/// <summary>
/// 数据库连接对象
/// </summary>
private SqlConnection con;
public DBHelper()
{
con = CreateConnection();
}
/// <summary>
/// 创建数据库连接对象
/// </summary>
/// <returns></returns>
public SqlConnection CreateConnection()
{
string conStr = ConfigurationManager.ConnectionStrings["sqlconnectionstring"].ToString();
return new SqlConnection(conStr);
}
/// <summary>
/// 创建执行存储过程的command对象
/// </summary>
/// <param name="storedProcedure"></param>
/// <returns></returns>
public SqlCommand GetStoredProcCommand(string procName)
{
SqlCommand cmd = con.CreateCommand();
cmd.CommandText = procName;
cmd.CommandType = CommandType.StoredProcedure;
return cmd;
}
/// <summary>
/// 创建执行普通sql语句的command对象
/// </summary>
/// <param name="sqlStr"></param>
/// <returns></returns>
public SqlCommand GetSqlStringCommand(string sqlStr)
{
SqlCommand cmd = con.CreateCommand();
cmd.CommandText = sqlStr;
cmd.CommandType = CommandType.Text;
return cmd;
}
/// <summary>
/// 增加参数
/// </summary>
/// <param name="cmd"></param>
/// <param name="dbParameterCollection"></param>
public void AddParameter(SqlCommand cmd, List<SqlParameter> list)
{
foreach (SqlParameter param in list)
{
cmd.Parameters.Add(param);
}
}
/// <summary>
/// 给存储过程增加输入参数
/// </summary>
/// <param name="cmd"></param>
/// <param name="parameterName"></param>
/// <param name="dbType"></param>
/// <param name="value"></param>
public void AddInParameter(SqlCommand cmd, string parameterName, DbType dbType, object value)
{
SqlParameter dbParameter = cmd.CreateParameter();
dbParameter.DbType = dbType;
dbParameter.ParameterName = parameterName;
dbParameter.Value = value;
dbParameter.Direction = ParameterDirection.Input;
cmd.Parameters.Add(dbParameter);
}
/// <summary>
/// 给存储过程增加返回参数
/// </summary>
/// <param name="cmd"></param>
/// <param name="parameterName"></param>
/// <param name="dbType"></param>
public void AddReturnParameter(SqlCommand cmd, string parameterName, DbType dbType)
{
SqlParameter dbParameter = cmd.CreateParameter();
dbParameter.DbType = dbType;
dbParameter.ParameterName = parameterName;
dbParameter.Direction = ParameterDirection.ReturnValue;
cmd.Parameters.Add(dbParameter);
}
/// <summary>
/// 取得参数
/// </summary>
/// <param name="cmd"></param>
/// <param name="parameterName"></param>
/// <returns></returns>
public SqlParameter GetParameter(SqlCommand cmd, string parameterName)
{
return cmd.Parameters[parameterName];
}
/// <summary>
/// 执行返回DataTable
/// </summary>
/// <param name="cmd"></param>
/// <returns></returns>
public DataTable ExecuteDataTable(SqlCommand cmd)
{
try
{
SqlDataAdapter adapter = new SqlDataAdapter();
adapter.SelectCommand = cmd;
DataTable dataTable = new DataTable();
adapter.Fill(dataTable);
return dataTable;
}
catch (Exception ex)
{
throw ex;
}
}
/// <summary>
/// 执行返回受影响行数
/// </summary>
/// <param name="cmd"></param>
/// <returns></returns>
public int ExecuteNonQuery(SqlCommand cmd)
{
int count = 0;
try
{
cmd.Connection.Open();
count = cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
throw ex;
}
finally
{
cmd.Connection.Close();
}
return count;
}
/// <summary>
/// 执行返回首行首列的值
/// </summary>
/// <param name="cmd"></param>
/// <returns></returns>
public object ExecuteScalar(SqlCommand cmd)
{
Object obj = null;
try
{
cmd.Connection.Open();
obj = cmd.ExecuteScalar();
}
catch (Exception ex)
{
throw ex;
}
finally
{
cmd.Connection.Close();
}
return obj;
}
}
}
努力 努力在努力一点
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】