MySQLHelper
using System; using System.Configuration; using System.Data; using System.Data.SqlClient; using Constant; namespace Dal { /// <summary> /// This class can not be extends and it provide services for dal. /// </summary> public sealed class SqlHelper { #region Private Constructor private SqlHelper() { } #endregion #region Returns SqlConnection /// <summary> /// Gets the connection with database. /// </summary> /// <returns>Return the connection of database.</returns> public static SqlConnection GetConnection() { string connStr = ConfigurationManager.AppSettings["connStr"]; SqlConnection conn = new SqlConnection(connStr); return conn; } #endregion #region Closes SqlDataReader Method /// <summary> /// Closes the sqldatareader and dispose it. /// </summary> /// <param name="sqlDataReader">Returns sqldatareader.</param> public static void CloseSqlDataReader(SqlDataReader sqlDataReader) { if (!sqlDataReader.IsClosed) { sqlDataReader.Close(); sqlDataReader.Dispose(); } else { //TODO NOTHING } } #endregion #region Returns SqlDataReader /// <summary> /// Gets data from database. /// </summary> /// <param name="sqlText">The sql text.</param> /// <param name="prams">The parameters of the sql text.</param> /// <returns>Return sqldatareader.</returns> public static SqlDataReader ExecureReader(string sqlText, SqlParameter[] prams) { SqlCommand sqlCommand = null; SqlConnection sqlConnection = GetConnection(); if (sqlConnection.State != ConnectionState.Open) { sqlConnection.Open(); } sqlCommand = new SqlCommand(sqlText, sqlConnection); if (null != prams) { sqlCommand.Parameters.AddRange(prams); } return sqlCommand.ExecuteReader(); //There doesn't close the connection with database. Because in reading the data the connection must be open. } #endregion #region ExecuteNonQuery Method /// <summary> /// Does the insert, update, delete function. /// </summary> /// <param name="sqlText">The sql text.</param> /// <param name="parms">The parameters of the sql.</param> /// <returns>Returns influence number.</returns> public static int ExecuteNonQuery(string sqlText, SqlParameter[] parms) { int i = 0; using (SqlConnection sqlConnection = GetConnection()) { if (sqlConnection.State == ConnectionState.Closed) { sqlConnection.Open(); } using (SqlCommand sqlCommand = new SqlCommand()) { sqlCommand.Connection = sqlConnection; sqlCommand.CommandText = sqlText; sqlCommand.Parameters.AddRange(parms); i = sqlCommand.ExecuteNonQuery(); } } return i; } /// <summary> /// Gets the influence rows. /// </summary> /// <param name="sqlText">The sql text.</param> /// <param name="parms">The parameters of the sql.</param> /// <returns>Returns influence number.</returns> public static int ExecuteNonQuery(string sqlText) { int i = 0; using (SqlConnection sqlConnection = GetConnection()) { if (sqlConnection.State == ConnectionState.Closed) { sqlConnection.Open(); } using (SqlCommand sqlCommand = new SqlCommand()) { sqlCommand.Connection = sqlConnection; sqlCommand.CommandText = sqlText; i = sqlCommand.ExecuteNonQuery(); } } return i; } #endregion #region Returns Object /// <summary> /// Gets the first row and first column data. /// </summary> /// <param name="sql">The sql text.</param> /// <param name="prams">The parameters of the sql text.</param> /// <returns>Returns an object.</returns> public static object ExecuteScalar(string sqlText, SqlParameter[] parms) { object result; using (SqlConnection sqlConnection = GetConnection()) { if (sqlConnection.State != ConnectionState.Open) { sqlConnection.Open(); } using (SqlCommand sqlCommand = new SqlCommand(sqlText, sqlConnection)) { sqlCommand.Parameters.AddRange(parms); result = sqlCommand.ExecuteScalar(); } } return result; } #endregion } }
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何在 .NET 中 使用 ANTLR4
· 后端思维之高并发处理方案
· 理解Rust引用及其生命周期标识(下)
· 从二进制到误差:逐行拆解C语言浮点运算中的4008175468544之谜
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 想让你多爱自己一些的开源计时器
· Cursor预测程序员行业倒计时:CTO应做好50%裁员计划
· 大模型 Token 究竟是啥:图解大模型Token
· 用99元买的服务器搭一套CI/CD系统
· 如何在 .NET 中 使用 ANTLR4