Files
01-Siyuan-MesProject/DataMirrorTools_Simulator/BasicOperation.OSql/OSql/TransferProject.cs
2026-05-29 10:07:05 +08:00

174 lines
6.8 KiB
C#

using Global;
using System;
using System.Collections.Generic;
using System.Data;
using static DtWebApiDT.DataAccess;
//using static SqlManage.ExecSql;
/// <summary>
///
/// </summary>
namespace DTTest
{
/// <summary>
/// 对于数据库的操作
/// </summary>
public partial class SqlOperation
{
/// <summary>
/// 项目迁移,20201013,LLX
/// </summary>
public class TransferProject
{
/// <summary>
///
/// </summary>
/// <returns></returns>
public static DataTable Select_DB_Tables()
{
DataTable dt = new DataTable();
dt.Columns.Add("name");
dt.Rows.Add("ModelProcess");
dt.Rows.Add("ProjectList");
dt.Rows.Add("SystemUser");
dt.Rows.Add("Z_Save_Position");
dt.Rows.Add("Z_Save_Tag");
dt.Rows.Add("DeviceSignalSimTree");
dt.Rows.Add("TagTriggerHandler");
dt.Rows.Add("OperationTree");
dt.Rows.Add("SignalViewer");
dt.Rows.Add("ProcesslLabelList");
return dt;
//var sql =
// @" SELECT name FROM sysobjects WHERE xtype='u'";
//ExecuteDataset(sql, PP.ConnectionStr, out DataSet ds, out string errorMessage);
//return ds.Tables[0];
}
/// <summary>
/// 删除当前项目
/// 2020.10.30
/// </summary>
public static void Delete_CurrProject()
{
var dt_TableList = Select_DB_Tables();
for (int i = 0; i < dt_TableList.Rows.Count ; i++)
{
var tableName = dt_TableList.Rows[i]["name"].ToString();
var sql =
@" DECLARE @ProjectCode NVARCHAR(50) = '" + PP.ProjectCode + "'" +
@" DELETE FROM " + tableName + " WHERE[ProjectCode] = @ProjectCode";
ExecuteDataset(sql, PP.ConnectionStr, out DataSet ds, out string errorMessage);
}
UpdateProjectName("-1", "-1");
}
/*2020.10.30项目数据迁移,导入数据***********************************/
/// <summary>
/// 导入数据
/// 2020.10.30
/// </summary>
/// <returns></returns>
public static void Insert_Table(string tableName, string columnNameRows, string rowData)
{
var sql = "";
string getdate = " '" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") + "' ";
if (tableName == "ProjectList")
{
var restoredProjectName = rowData.Split(',')[0].Replace("'", "");
sql =
@" DECLARE @ProjectCode NVARCHAR(50) = '" + PP.ProjectCode + "'" +
@" DECLARE @RestoredProjectName NVARCHAR(50) = '" + restoredProjectName + "'" +
@" UPDATE " + tableName + " SET [RestoredProjectName] = @RestoredProjectName" +
@" WHERE [ProjectCode] = @ProjectCode";
}
else
{
sql =
@" DECLARE @ProjectCode NVARCHAR(50) = '" + PP.ProjectCode + "'" +
@" INSERT INTO [" + tableName + "]([ProjectCode],[OperationTime]," + columnNameRows + ")" +
@" VALUES(@ProjectCode,"+getdate+"," + rowData + ")";
}
ExecuteDataset(sql, PP.ConnectionStr, out DataSet ds, out string errorMessage);
}
public static void Insert_Table(string tableName, string columnNameRows, string rowData,string PP_ProjectCode, string projectName)
{
var sql = "";
string getdate = " '" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") + "' ";
if (tableName == "ProjectList")
{
////var restoredProjectName = rowData.Split(',')[0].Replace("'", "");
//sql =
// @" DECLARE @ProjectCode NVARCHAR(50) = '" + PP_ProjectCode + "'" +
// @" DECLARE @RestoredProjectName NVARCHAR(50) = '" + restoredProjectName + "'" +
// @" UPDATE " + tableName + " SET [RestoredProjectName] = @RestoredProjectName" +
// @" WHERE [ProjectCode] = @ProjectCode";
sql =
@" DECLARE @ProjectName NVARCHAR(50) = '" + projectName + "'" +
@" DECLARE @AddProjectCode NVARCHAR(50) = '" + PP_ProjectCode + "'" +
@" INSERT INTO [ProjectList]([ProjectName],[OperationTime],[ProjectCode]) VALUES(@ProjectName,"+getdate+",@AddProjectCode)" +
@" UPDATE [ProjectList] SET [CurrentProject] = 'False'" +
@" UPDATE [ProjectList] SET [CurrentProject] = 'True' WHERE [ProjectCode] = @AddProjectCode";
}
else
{
sql =
@" DECLARE @ProjectCode NVARCHAR(50) = '" + PP_ProjectCode + "'" +
@" INSERT INTO [" + tableName + "]([ProjectCode],[OperationTime]," + columnNameRows + ")" +
@" VALUES(@ProjectCode,"+getdate+"," + rowData + ")";
}
ExecuteDataset(sql, PP.ConnectionStr, out DataSet ds, out string errorMessage);
}
/*2020.10.28项目数据迁移,导出数据***********************************/
/*2021.03.12项目数据迁移,导出数据***********************************/
/// <summary>
/// 通用操作,查询数据库表
/// </summary>
/// <returns></returns>
public static DataTable Select_Table(string tableName)
{
var orderby = tableName == "TagTriggerHandler" ? " ORDER BY [OperationTime]" : "";
var sql =
@" SELECT * FROM "+ tableName + "" + Project.Where() + orderby;
ExecuteDataset(sql, PP.ConnectionStr, out DataSet ds, out string errorMessage);
DataTable dt = ds.Tables[0];
dt.TableName = tableName;
return dt;
}
public static bool Select_ProjectName(string projectName)
{
var sql = @" SELECT * FROM ProjectList where ProjectName ='" + projectName+"'";
ExecuteDataset(sql, PP.ConnectionStr, out DataSet ds, out string errorMessage);
DataTable dt = ds.Tables[0];
if (dt.Rows.Count < 1) return true;
else return false;
}
}
}
}