#250831 修复刷新页面,查询数据库导致的 可用连接错误
This commit is contained in:
+65
-44
@@ -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
@@ -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.
Reference in New Issue
Block a user