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 /// 2021.4.6 /// 2021.4.7 /// public class InitInjection { private static string Sql_SelectDatabase_Exist() { return @" SELECT* FROM sysdatabases WHERE name='ModelData'"; } private static string Sql_CreateDatabase_Entity() { var thisDirectory = System.IO.Directory.GetCurrentDirectory(); var dbName = "ModelData"; return @" CREATE DATABASE [" + dbName + "] CONTAINMENT = NONE" + @" ON PRIMARY( NAME = N'" + dbName + "', FILENAME = N'" + thisDirectory + "\\" + dbName + ".mdf' , SIZE = 8192KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )" + @" LOG ON ( NAME = N'" + dbName + "_log', FILENAME = N'" + thisDirectory + "\\" + dbName + "_log.ldf' , SIZE = 8192KB , MAXSIZE = UNLIMITED, FILEGROWTH = 10%)"; } private static string Sql_CreateDatabase_Table() { return @" CREATE TABLE [OperationTree]( [ID] [int] IDENTITY(1,1) NOT NULL, [CraftCode] [nvarchar](50) NOT NULL, [CraftTypeCode] [nvarchar](50) NULL, [Varieties] [nvarchar](50) NULL, [CraftName] [nvarchar](500) NULL, [CraftDeviceTypeCode] [int] NULL, [ProjectCode] [nvarchar](50) NOT NULL, [OperationTime] [datetime] NULL, [SequenceNo] [int] NULL, [StartTime] [int] NULL, [KeepTime] [int] NULL, [ModelCode] [nvarchar](50) NULL, [CraftPlayData] [nvarchar](max) NULL, [CraftPlayData_Joint] [nvarchar](max) NULL, [CraftPlayData_Raw] [nvarchar](max) NULL, [Rate] [int] NULL, [Explain] [nvarchar](50) NULL, CONSTRAINT [pk_CraftTree] PRIMARY KEY CLUSTERED ( [CraftCode] ASC, [ProjectCode] ASC ) ) CREATE TABLE [DeviceSignalSimTree]( [ID] [int] IDENTITY(1,1) NOT NULL, [Code] [nvarchar](50) NOT NULL, [Pid] [nvarchar](50) NULL, [Varieties] [nvarchar](50) NULL, [Name] [nvarchar](50) NULL, [TagID] [int] NULL, [TagValue] [nvarchar](50) NULL, [StartTime] [int] NULL, [KeepTime] [int] NULL, [SequenceNo] [int] NULL, [OperationTime] [datetime] NULL, [ProjectCode] [nvarchar](50) NOT NULL ) CREATE TABLE [ModelProcess]( [ID] [int] IDENTITY(1,1) NOT NULL, [ProcessCode] [nvarchar](50) NOT NULL, [CraftCode] [nvarchar](50) NULL, [SequenceNo] [int] NULL, [ProcessName] [nvarchar](50) NULL, [UseTime] [int] NULL, [X] [real] NULL, [Y] [real] NULL, [Z] [real] NULL, [RX] [real] NULL, [RY] [real] NULL, [RZ] [real] NULL, [X_Base] [real] NULL, [Y_Base] [real] NULL, [Z_Base] [real] NULL, [RX_Base] [real] NULL, [RY_Base] [real] NULL, [RZ_Base] [real] NULL, [QX] [real] NULL, [QY] [real] NULL, [QZ] [real] NULL, [QW] [real] NULL, [QX_Base] [real] NULL, [QY_Base] [real] NULL, [QZ_Base] [real] NULL, [QW_Base] [real] NULL, [X_Tool] [real] NULL, [Y_Tool] [real] NULL, [Z_Tool] [real] NULL, [RX_Tool] [real] NULL, [RY_Tool] [real] NULL, [RZ_Tool] [real] NULL, [QX_Tool] [real] NULL, [QY_Tool] [real] NULL, [QZ_Tool] [real] NULL, [QW_Tool] [real] NULL, [OperationTime] [datetime] NULL, [ProjectCode] [nvarchar](50) NOT NULL, CONSTRAINT [pk_ModelProcess] PRIMARY KEY CLUSTERED ( [ProcessCode] ASC, [ProjectCode] ASC ) ) CREATE TABLE [ProjectList]( [ID] [int] IDENTITY(1,1) NOT NULL, [ProjectCode] [nvarchar](50) NOT NULL, [ProjectName] [nvarchar](50) NULL, [RestoredProjectName] [nvarchar](50) NULL, [OperationTime] [datetime] NULL, [CurrentProject] [bit] NULL, CONSTRAINT [PK_ProjectList] PRIMARY KEY CLUSTERED ( [ProjectCode] ASC ) ) CREATE TABLE [ProcesslLabelList]( [ID] [int] IDENTITY(1,1) NOT NULL, [ProcessCode] [nvarchar](50) NULL, [TagID] [int] NULL, [TagValue] [nvarchar](50) NULL, [OperationTime] [datetime] NULL, [ProjectCode] [nvarchar](50) NULL ) CREATE TABLE [TagTriggerHandler]( [ID] [int] IDENTITY(1,1) NOT NULL, [HandlerType] [int] NULL, [TagID] [int] NULL, [TagValue] [nvarchar](50) NULL, [HandlerCode] [nvarchar](50) NULL, [HandlerValue] [nvarchar](50) NULL, [OperationTime] [datetime] NULL, [ProjectCode] [nvarchar](50) NOT NULL ) CREATE TABLE [Z_Save_Position]( [ID] [int] IDENTITY(1,1) NOT NULL, [OpName] [nvarchar](50) NULL, [Value] [nvarchar](50) NULL, [OperationTime] [datetime] NULL, [ProjectCode] [nvarchar](50) NOT NULL ) CREATE TABLE [Z_Save_Tag]( [ID] [int] IDENTITY(1,1) NOT NULL, [OpName] [nvarchar](50) NULL, [TagID] [int] NULL, [Value] [nvarchar](50) NULL, [KeepTime] [int] NULL, [OperationTime] [datetime] NULL, [ProjectCode] [nvarchar](50) NOT NULL )"; } /// /// 数据库是存在 /// 2021.4.7 /// /// /// public static bool SelectDatabase_Exist(string connStr) { var exist = false; ExecuteDataset(Sql_SelectDatabase_Exist(), connStr.Replace("ModelData", "master"), out DataSet ds, out string errorMessage); var dt = ds.Tables[0]; var count = dt.Rows.Count; if (count > 0) { exist = true; } return exist; } public static bool CreateDatabase_Entity(string connStr) { return ExecuteDataset(Sql_CreateDatabase_Entity(), connStr.Replace("ModelData", "master"), out DataSet ds, out string errorMessage); } public static void CreateDatabase_Table(string connStr) { ExecuteDataset(Sql_CreateDatabase_Table(), connStr, out DataSet ds, out string errorMessage); } /// /// 得到数据库脚本 /// 2021.4.9 /// /// public static string GetSqlScript() { var script = new System.Text.StringBuilder(); script.AppendLine(Sql_CreateDatabase_Entity()).AppendLine(); script.AppendLine(Sql_CreateDatabase_Table()).AppendLine(); return script.ToString(); } } } }