#250831 修复刷新页面,查询数据库导致的 可用连接错误

This commit is contained in:
HM-CN\zhengxuan.zhang
2025-08-31 14:57:29 +08:00
parent a79239ceda
commit 4f952f932e
35 changed files with 395 additions and 3442 deletions
+65 -44
View File
@@ -12,22 +12,22 @@ namespace DAL
{
public class SQLHelper
{
private static SqlConnection conn = null;
private static SqlCommand cmd = null;
private static SqlDataReader sdr = null;
//private static SqlConnection conn = null;
//private static SqlCommand cmd = null;
//private static SqlDataReader sdr = null;
public static string connStr = "";
public static int iFlag = 0;
private static SqlConnection GetConn()
{
conn = new SqlConnection(connStr);
var conn = new SqlConnection(connStr);
if (conn.State == ConnectionState.Closed)
{
try
{
conn.Open();
}
conn.Open();
}
catch (Exception ex)
{
if (iFlag == 0)
@@ -40,8 +40,8 @@ namespace DAL
return conn;
}
}
return conn;
}
return conn;
}
#region SQL语句或存储过程 int类型
@@ -51,44 +51,65 @@ namespace DAL
/// <param name="cmdText">增删改SQL语句或存储过程</param>
/// <param name="ct">命令类型</param>
/// <returns>返回受影响的行数</returns>
public static int ExecuteNonQuery(string cmdText, CommandType ct)
{
int res = 0;
try
{
cmd = new SqlCommand(cmdText, GetConn());
cmd.CommandType = ct;
res = cmd.ExecuteNonQuery(); //返回受影响的行数
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (conn.State == ConnectionState.Open)
{
conn.Close();
}
}
return res;
}
//public static int ExecuteNonQuery(string cmdText, CommandType ct)
//{
// int res = 0;
// try
// {
// var cmd = new SqlCommand(cmdText, GetConn());
// cmd.CommandType = ct;
// res = cmd.ExecuteNonQuery(); //返回受影响的行数
// }
// catch (Exception ex)
// {
// throw ex;
// }
// finally
// {
// if (conn.State == ConnectionState.Open)
// {
// conn.Close();
// }
// }
// return res;
//}
#endregion SQL语句或存储过程 int类型
public static int ExecuteNonQuery(string cmdText, CommandType ct)
{
int res = 0;
try
{
using (var conn = GetConn())
using (var cmd = new SqlCommand(cmdText, conn))
{
cmd.CommandType = ct;
res = cmd.ExecuteNonQuery(); // 返回受影响的行数
}
}
catch (Exception ex)
{
MyBase.TraceWriteLine("ExecuteNonQuery异常: " + ex.ToString());
throw; // 建议让上层处理异常
}
return res;
}
#region SQL语句或存储过程 int类型
/// <summary>
/// 执行带参数的增删改SQL语句或存储过程 返回int类型 返回受影响的行数
/// </summary>
/// <param name="cmdText">增删改SQL语句或存储过程</param>
/// <param name="ct">命令类型</param>
/// <returns>返回受影响的行数</returns>
public static int ExecuteNonQuery(string cmdText, SqlParameter[] paras, CommandType ct)
#endregion SQL语句或存储过程 int类型
#region SQL语句或存储过程 int类型
/// <summary>
/// 执行带参数的增删改SQL语句或存储过程 返回int类型 返回受影响的行数
/// </summary>
/// <param name="cmdText">增删改SQL语句或存储过程</param>
/// <param name="ct">命令类型</param>
/// <returns>返回受影响的行数</returns>
public static int ExecuteNonQuery(string cmdText, SqlParameter[] paras, CommandType ct)
{
int res = 0;
using (cmd = new SqlCommand(cmdText, GetConn()))
using (var cmd = new SqlCommand(cmdText, GetConn()))
{
cmd.CommandType = ct;
cmd.Parameters.AddRange(paras);
@@ -110,11 +131,11 @@ namespace DAL
public static DataTable ExecuteQuery(string cmdText, CommandType ct)
{
DataTable dt = new DataTable();
cmd = new SqlCommand(cmdText, GetConn());
var cmd = new SqlCommand(cmdText, GetConn());
cmd.CommandType = ct;
//cmd.CommandTimeout = 60;
using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
using (var sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
{
dt.Load(sdr);
}
@@ -135,10 +156,10 @@ namespace DAL
public static DataTable ExecuteQuery(string cmdText, SqlParameter[] paras, CommandType ct)
{
DataTable dt = new DataTable();
cmd = new SqlCommand(cmdText, GetConn());
var cmd = new SqlCommand(cmdText, GetConn());
cmd.CommandType = ct;
cmd.Parameters.AddRange(paras);
using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
using (var sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
{
dt.Load(sdr);
}
+24 -5
View File
@@ -401,19 +401,20 @@ namespace DAL
}
public int ExistsArriveLog(string carId, DateTime arriveDate)
public int ExistsArriveLog(string carId)
{
string sql = "SELECT COUNT(1) FROM PlcCarStationLog WHERE CarID = @CarID AND CONVERT(date, ArriveTime) = @ArriveDate";
string sql = "SELECT COUNT(1) FROM PlcCarStationLog WHERE CarID = @CarID";
var parameters = new[]
{
new SqlParameter("@CarID", carId),
new SqlParameter("@ArriveDate", arriveDate.Date)
new SqlParameter("@CarID", carId)
};
return SQLHelper.ExecuteNonQuery(sql, parameters, CommandType.Text);
DataTable dt = SQLHelper.ExecuteQuery(sql, parameters, CommandType.Text);
return Convert.ToInt32(dt.Rows[0][0]);
}
// 插入车辆抵达记录
public int InsertArriveLog(string carId, DateTime arriveTime)
{
@@ -465,6 +466,24 @@ namespace DAL
}
// 查询丢失数据
public DataTable SelectUnuploadedIOTLogs()
{
string sql = "SELECT * FROM IOTUploadLog WHERE IsUploaded = 0";
return SQLHelper.ExecuteQuery(sql, CommandType.Text);
}
// DAL层增加更新状态方法
public int UpdateIOTUploadStatus(int id, bool isUploaded)
{
string sql = "UPDATE IOTUploadLog SET IsUploaded = @IsUploaded WHERE Id = @Id";
var parameters = new[]
{
new SqlParameter("@IsUploaded", isUploaded ? 1 : 0),
new SqlParameter("@Id", id)
};
return SQLHelper.ExecuteNonQuery(sql, parameters, CommandType.Text);
}
#endregion
#region Update Function
Binary file not shown.
Binary file not shown.