174 lines
6.8 KiB
C#
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;
|
|
}
|
|
|
|
}
|
|
|
|
|
|
}
|
|
}
|