/// <summary> /// MJTop.Data数据库对象Instance转TableDto /// </summary> /// <returns>tables</returns> private System.Collections.Generic.List <TableDto> DBInstanceTransToDto() { System.Collections.Generic.List <TableDto> tables = new System.Collections.Generic.List <TableDto>(); // TODO 查询数据库表集合 System.Collections.Specialized.NameValueCollection dict_tabs = DBUtils.Instance.Info.TableComments; // TODO 根据选择的表名进行导出相关处理 System.Collections.Generic.List <string> checkedTableNames = new System.Collections.Generic.List <string>(); for (var j = 0; j < checkedListBox1.Items.Count; j++) { if (checkedListBox1.GetItemChecked(j)) { // TODO 选中的表名 string checkedTableName = checkedListBox1.GetItemText(checkedListBox1.Items[j]); checkedTableNames.Add(checkedTableName); } } if (checkedTableNames.Count == 0) { // TODO 未选择指定表,默认全部表处理 for (var j = 0; j < checkedListBox1.Items.Count; j++) { string checkedTableName = checkedListBox1.GetItemText(checkedListBox1.Items[j]); checkedTableNames.Add(checkedTableName); } } int i = 1; // 计数器 foreach (var tableName in checkedTableNames) { TableDto tableDto = new TableDto(); tableDto.TableOrder = i + ""; // 序号 tableDto.TableName = tableName; // 表名 tableDto.Comment = (!string.IsNullOrWhiteSpace(dict_tabs[tableName]) ? dict_tabs[tableName] : ""); // 表注释(说明) // TODO 查询数据库表字段集合 var columns = new System.Collections.Generic.List <ColumnDto>(); var dictTabs = DBUtils.Instance.Info.TableInfoDict; MJTop.Data.TableInfo tabInfo = null; if (dictTabs.Case == MJTop.Data.KeyCase.Lower) { tabInfo = dictTabs[tableName.ToLower()]; } else { tabInfo = dictTabs[tableName.ToUpper()]; } // TODO 添加数据字段行,循环数据库表字段集合 foreach (var col in tabInfo.Colnumns) { ColumnDto columnDto = new ColumnDto(); columnDto.ColumnOrder = col.Colorder + ""; // 序号 columnDto.ColumnName = col.ColumnName; // 列名 columnDto.ColumnTypeName = col.TypeName; // 数据类型 columnDto.Length = (col.Length.HasValue ? col.Length.Value.ToString() : ""); // 长度 columnDto.Scale = (col.Scale.HasValue ? col.Scale.Value.ToString() : ""); // 小数位 columnDto.IsPK = (col.IsPK ? "√" : ""); // 主键 columnDto.IsIdentity = (col.IsIdentity ? "√" : ""); // 自增 columnDto.CanNull = (col.CanNull ? "√" : ""); // 允许空 columnDto.DefaultVal = (!string.IsNullOrWhiteSpace(col.DefaultVal) ? col.DefaultVal : ""); // 默认值 columnDto.Comment = (!string.IsNullOrWhiteSpace(col.DeText) ? col.DeText : ""); // 列注释(说明) columns.Add(columnDto); } tableDto.Columns = columns; // 数据库表字段集合赋值 tables.Add(tableDto); i++; } return(tables); }
/// <summary> /// MJTop.Data数据库对象Instance转TableDto /// </summary> /// <returns>tables</returns> private List <TableDto> DBInstanceTransToDto() { List <TableDto> tables = new System.Collections.Generic.List <TableDto>(); // TODO 查询数据库表集合 NameValueCollection dict_tabs = DBUtils.Instance.Info.TableComments; // TODO 根据选择的表名进行导出相关处理 List <string> checkedTableNames = CkListBox.CheckedItems.Cast <string>().ToList(); if (checkedTableNames.Count == 0) { checkedTableNames = DBUtils.Instance?.Info?.TableNames ?? new List <string>(); } int i = 1; // 计数器 foreach (var tableName in checkedTableNames) { TableDto tableDto = new TableDto(); tableDto.TableOrder = i + ""; // 序号 tableDto.TableName = tableName; // 表名 tableDto.Comment = (!string.IsNullOrWhiteSpace(dict_tabs[tableName]) ? dict_tabs[tableName] : ""); // 表注释(说明) // TODO 查询数据库表字段集合 var columns = new System.Collections.Generic.List <ColumnDto>(); var dictTabs = DBUtils.Instance.Info.TableInfoDict; MJTop.Data.TableInfo tabInfo = null; if (dictTabs.Case == MJTop.Data.KeyCase.Lower) { if (!dictTabs.ContainsKey(tableName.ToLower())) { throw new Exception(tableName.ToLower()); } tabInfo = dictTabs[tableName.ToLower()]; } else { if (!dictTabs.ContainsKey(tableName.ToUpper())) { throw new Exception(tableName.ToUpper()); } tabInfo = dictTabs[tableName.ToUpper()]; } // TODO 添加数据字段行,循环数据库表字段集合 foreach (var col in tabInfo.Colnumns) { ColumnDto columnDto = new ColumnDto(); columnDto.ColumnOrder = col.Colorder + ""; // 序号 columnDto.ColumnName = col.ColumnName; // 列名 columnDto.ColumnTypeName = col.TypeName; // 数据类型 columnDto.Length = (col.Length.HasValue ? col.Length.Value.ToString() : ""); // 长度 columnDto.Scale = (col.Scale.HasValue ? col.Scale.Value.ToString() : ""); // 小数位 columnDto.IsPK = (col.IsPK ? "√" : ""); // 主键 columnDto.IsIdentity = (col.IsIdentity ? "√" : ""); // 自增 columnDto.CanNull = (col.CanNull ? "√" : ""); // 允许空 columnDto.DefaultVal = (!string.IsNullOrWhiteSpace(col.DefaultVal) ? col.DefaultVal : ""); // 默认值 columnDto.Comment = (!string.IsNullOrWhiteSpace(col.DeText) ? col.DeText : ""); // 列注释(说明) columns.Add(columnDto); } tableDto.Columns = columns; // 数据库表字段集合赋值 tables.Add(tableDto); i++; } return(tables); }