当前位置: 首页 > news >正文

wordpress 动漫网站创业园网站建设

wordpress 动漫网站,创业园网站建设,漯河做网站推广,微网站怎么免费做原理是获取原表表结构以及索引动态拼接建表SQL#xff0c;如果月表存在则不创建#xff0c;不存在则创建表结构 代码如下 /// summary/// 根据指定的表名和时间按月进行建表插入#xff08;如果不存在对应的月表#xff09;/// /summary/// param nam…原理是获取原表表结构以及索引动态拼接建表SQL如果月表存在则不创建不存在则创建表结构 代码如下 /// summary/// 根据指定的表名和时间按月进行建表插入如果不存在对应的月表/// /summary/// param nametransaction外部传入的事务/param/// param namebaseTableName基础表名不包括时间部分/param/// param namemodel包含插入数据的对象/param/// param namedateTime用于确定表名的时间/param/// returns/returnspublic static bool InsertByTableMonthT(SqlTransaction transaction, string baseTableName, T model, DateTime dateTime) where T : class{SqlConnection connection transaction.Connection;string month dateTime.ToString(yyyyMM);string tableName ${baseTableName}_{month};// 动态生成表结构string columnsDefinition GetTableColumnsDefinition(connection, transaction, baseTableName);// 获取索引定义string indexesDefinition GetTableIndexes(connection, baseTableName, tableName, transaction);// 检查表是否存在如果不存在则创建表string checkTableQuery $ IF NOT EXISTS (SELECT * FROM sysobjects WHERE name {tableName} AND xtype U) BEGINCREATE TABLE [dbo].[{tableName}] ({columnsDefinition});--添加索引{indexesDefinition} END; ;using (SqlCommand checkTableCommand new SqlCommand(checkTableQuery, connection, transaction)){try{checkTableCommand.ExecuteNonQuery();Console.WriteLine($Table {tableName} checked/created.);}catch (Exception ex){// 记录或处理异常return false;}}// 插入数据// 获取表中的实际列名Liststring actualColumns GetTableColumns(connection, transaction, tableName);// 过滤掉不存在的列只插入存在的字段var properties typeof(T).GetProperties().Where(p actualColumns.Contains(p.Name)).ToList();if (properties.Count 0){// 如果没有匹配的列直接返回return false;}StringBuilder strSql new StringBuilder();strSql.Append($INSERT INTO {tableName}();strSql.Append(string.Join(,, properties.Select(p p.Name)));strSql.Append() VALUES ();strSql.Append(string.Join(,, properties.Select(p p.Name)));strSql.Append());SqlParameter[] parameters properties.Select(p new SqlParameter( p.Name, p.GetValue(model, null) ?? DBNull.Value)).ToArray();using (SqlCommand insertCommand new SqlCommand(strSql.ToString(), connection, transaction)){insertCommand.Parameters.AddRange(parameters);int rows insertCommand.ExecuteNonQuery();return rows 0;}}/// summary/// 从原始表获取列定义/// /summary/// param nameconnection数据库连接/param/// param nametransaction外部传入的事务/param/// param namebaseTableName原始表名/param/// returns/returnsprivate static string GetTableColumnsDefinition(SqlConnection connection, SqlTransaction transaction, string baseTableName){StringBuilder columnsDefinition new StringBuilder();string query $ SELECT COLUMN_NAME, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH, IS_NULLABLE,COLUMN_DEFAULT FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME {baseTableName};using (SqlCommand command new SqlCommand(query, connection, transaction)){using (SqlDataReader reader command.ExecuteReader()){while (reader.Read()){string columnName reader[COLUMN_NAME].ToString();string dataType reader[DATA_TYPE].ToString();string isNullable reader[IS_NULLABLE].ToString() YES ? NULL : NOT NULL;string columnDefault reader[COLUMN_DEFAULT].ToString();string columnDef ${columnName} {dataType};if (reader[CHARACTER_MAXIMUM_LENGTH] ! DBNull.Value){int maxLength Convert.ToInt32(reader[CHARACTER_MAXIMUM_LENGTH]);columnDef $({maxLength});}if (!string.IsNullOrEmpty(columnDefault)){columnDef $ DEFAULT {columnDefault};}columnDef $ {isNullable};columnsDefinition.AppendLine(columnDef ,);}}}// 移除最后一个逗号return columnsDefinition.ToString().TrimEnd(,);}/// summary/// 从原始表获取索引定义/// /summary/// param nameconnection数据库连接/param/// param namebaseTableName原始表名/param/// /// param namebaseTableName新表名/param/// param nametransaction事务对象/param/// returns索引定义的字符串/returnsprivate static string GetTableIndexes(SqlConnection connection, string baseTableName,string NewTableName, SqlTransaction transaction){StringBuilder indexesDefinition new StringBuilder();string query $ SELECT i.name AS IndexName,STRING_AGG(c.name, ,) WITHIN GROUP (ORDER BY ic.key_ordinal) AS ColumnNames,i.type_desc AS IndexType FROM sys.indexes i INNER JOIN sys.index_columns ic ON i.object_id ic.object_id AND i.index_id ic.index_id INNER JOIN sys.columns c ON ic.object_id c.object_id AND ic.column_id c.column_id WHERE i.object_id OBJECT_ID({baseTableName}) GROUP BY i.name, i.type_desc ;using (SqlCommand command new SqlCommand(query, connection, transaction)){using (SqlDataReader reader command.ExecuteReader()){while (reader.Read()){string indexName reader[IndexName].ToString();string columnNames reader[ColumnNames].ToString();string indexType reader[IndexType].ToString();string indexDef $CREATE {indexType} INDEX [{indexName}] ON [dbo].[{NewTableName}] ({columnNames});;indexesDefinition.AppendLine(indexDef);}}}return indexesDefinition.ToString();}/// summary/// 获取指定表的实际列名/// /summary/// param nameconnection数据库连接/param/// param nametransaction外部传入的事务/param/// param nametableName表名/param/// returns实际存在的列名列表/returnsprivate static Liststring GetTableColumns(SqlConnection connection, SqlTransaction transaction, string tableName){Liststring columns new Liststring();string query $ SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME {tableName};using (SqlCommand command new SqlCommand(query, connection, transaction)){using (SqlDataReader reader command.ExecuteReader()){while (reader.Read()){columns.Add(reader[COLUMN_NAME].ToString());}}}return columns;} 使用方式 //存储 UT_DeviceAssignmentTimeReportRec rec new UT_DeviceAssignmentTimeReportRec(); rec.RowID Guid.NewGuid(); rec.EqNo EqNo; rec.EqProcess EqProcess; rec.CreateTime Now; rec.ShiftType ShiftType; rec.RunTime decimal.Parse(RunTime); rec.FaultTime decimal.Parse(FaultTime); rec.StandbyTime decimal.Parse(StandbyTime); rec.PanelNo PanelNo; rec.OrderNo OrderNo; rec.PrdCode PrdCode;DateTime dateTime rec.CreateTime; // 假设插入的数据有时间字段using(var conn CommonDAL.GetConnection()) {SqlTransaction trans conn.BeginTransaction();if (!CommonDAL.InsertByTableMonth(trans,UT_DeviceAssignmentTimeReportRec, rec, dateTime)){trans.Rollback();throw new Exception(保存失败!);}trans.Commit(); }
http://www.sczhlp.com/news/168847/

相关文章:

  • 网站的按钮怎么做上海 建筑
  • 福州市城乡建设发展总公司网站公司建设网站的目的
  • 阿里巴巴网站中详情页怎么做网站备案 拉黑
  • 外贸网站建设排名做教育类网站
  • 张掖高端网站建设公司网站开发费用是研发费用
  • 浦江建设局网站用别人的资源做网站
  • 模板建站影响网站的优化排名wordpress点击折叠展开内容
  • 专业设计网站公司白云区是穷人区吗
  • wordpress最好的编辑器宁波seo推广费用
  • 网站建设模板 源码 特效梵克雅宝官网中国官网
  • 网站模板套用湖南岚鸿wordpress 免费中文企业主题
  • html免费模板网站正确的企业邮箱格式怎么写
  • 做单页免费模板网站中文wordpress网站模板下载
  • 国外包装设计网站wordpress如何配置
  • 1 建设网站目的是什么凡科建站后属于自己的网站吗
  • 公司网站建设外包流程图项目宣传推广方案
  • 美术网站建设钦州网站建设
  • 铁路建设网站多少网站怎么上传数据库
  • jsp怎么做网站的删除wordpress分类信息导航
  • 怎么样百度搜到自己的网站档案门户网站建设方案
  • 小说类网站功能建设tom企业邮箱官网
  • 企业网站源码推荐深圳百度推广竞价托管
  • 自助建站原理接单做网站
  • 布尔类型
  • 十大免费建站程序wordpress杭州网站建设规划
  • 北京最大网站建设公司排名新浪网站开发语言
  • 中国城乡建设经济研究所 网站网站开发如何dw中小手
  • 青岛建网站多少钱邯郸信息港招聘信息港
  • 沈阳建设网站黄石网站建设费用
  • 注册域名之后如何做网站锦州网站建设