using Global; using System; using System.Collections.Generic; using System.Data; using static DtWebApiDT.DataAccess; //using static SqlManage.ExecSql; /// /// /// namespace DTTest { /// /// 对于数据库的操作 /// public partial class SqlOperation { /// /// 项目迁移,20201013,LLX /// public class TransferProject { /// /// /// /// 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]; } /// /// 删除当前项目 /// 2020.10.30 /// 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项目数据迁移,导入数据***********************************/ /// /// 导入数据 /// 2020.10.30 /// /// 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项目数据迁移,导出数据***********************************/ /// /// 通用操作,查询数据库表 /// /// 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; } } } }