diff --git a/插件库/Lskj.Control/Model/MenuStrip/BaseMenuStrip.cs b/插件库/Lskj.Control/Model/MenuStrip/BaseMenuStrip.cs index d614902..75d8430 100644 --- a/插件库/Lskj.Control/Model/MenuStrip/BaseMenuStrip.cs +++ b/插件库/Lskj.Control/Model/MenuStrip/BaseMenuStrip.cs @@ -286,10 +286,7 @@ namespace Lskj.Control.Model MessageUtil.Show(string.Format(ResourceKeys.ExecRightMenuOnlyOne, model.MenuName)); return; } - if (model.AllowNullExec && rowArray.Length == 0) - { - rowArray = new DataRow[] { new DataTable().NewRow() }; - } + if (rowArray.Length == 0 && model.IsMustSelectRow()) { MessageUtil.Show(ResourceKeys.SelectRowIsNull); @@ -687,12 +684,7 @@ namespace Lskj.Control.Model return resultValue; } - /// - /// 导入数据或者反写到界面 - /// - /// - /// - /// + public bool OpenFrmcCover(GridRightMenuModel model, List paramList) { @@ -727,33 +719,7 @@ namespace Lskj.Control.Model //外部数据 DataTable table = GetDataTable(); - - // 提取 ReverseData 中所有的主键值 - HashSet reversePrimaryKeys = new HashSet( - ReverseData.AsEnumerable() - .Select(dr => dr[primaryKey]) - .Where(val => val != DBNull.Value && val != null) - ); - // 获取table中,没有更新的行(在ReverseData中没有对应主键) - IEnumerable noUpdateRows = table.AsEnumerable() - .Where(dr => dr[primaryKey] != DBNull.Value && dr[primaryKey] != null - && !reversePrimaryKeys.Contains(dr[primaryKey])); - //提示存在没有更新的行 - if (noUpdateRows.Any()) - { - // 提示没有反写的数据 - string noUpdateIds = string.Join("、", noUpdateRows.Select(dr => dr[primaryKey].ToString())); - string text = string.Format("有 {0} 条数据未更新,主键为:{1} \r\n请确认是否要继续", noUpdateRows.Count(), noUpdateIds); - DialogResult result = MessageUtil.Show(text, MessageBoxButtons.YesNo); - if (result != DialogResult.Yes) - { - return false; - } - - } - - - //筛选出 ReverseData 和 table 中名称和数据类型都相同的列(排除主键列,避免重复赋值) + // 2. 筛选出 ReverseData 和 table 中名称和数据类型都相同的列(排除主键列,避免重复赋值) var commonColumns = ReverseData.Columns.Cast() .Where(col1 => col1.ColumnName != primaryKey // 跳过 id 列(无需更新) && table.Columns.Contains(col1.ColumnName) // 列名存在于 table2 @@ -937,7 +903,7 @@ namespace Lskj.Control.Model MessageUtil.Show(Message, sex.Message); return false; } - catch (Exception) + catch (Exception ex) { result = 0; if (result == 0) @@ -955,7 +921,8 @@ namespace Lskj.Control.Model } } - int rValue = Convert.ToInt32(returnValue.Value); + + int.TryParse(returnValue.Value + "", out int rValue); switch (rValue) { @@ -2059,4 +2026,28 @@ namespace Lskj.Control.Model DataRow[] dataRows = columnsTab.Select().Where(n => (n["name"] + "").Equals(colunmField.Key)).ToArray(); if (dataRows.Length == 0) { - string a \ No newline at end of file + string addColSql = string.Format("alter table P_PrivateDllTab add {0} {1}", colunmField.Key, colunmField.Value); + SqlHelper.ExecuteNonQuery(addColSql);//添加列 + } + } + } + else + { + string createTabSql = "create table P_PrivateDllTab(id int IDENTITY(1,1) NOT NULL,{0})"; + string createCol = string.Empty; + foreach (KeyValuePair colunmField in colDic) + { + createCol += string.Format("{0} {1},", colunmField.Key, colunmField.Value); + } + createTabSql = string.Format(createTabSql, createCol.TrimEnd(',')); + SqlHelper.ExecuteNonQuery(createTabSql);//创建表 + } + return true; + } + catch (Exception) + { + return false; + } + } + } +} \ No newline at end of file