SVN r1123
SVN-Revision: r1123
This commit is contained in:
@@ -286,10 +286,7 @@ namespace Lskj.Control.Model
|
|||||||
MessageUtil.Show(string.Format(ResourceKeys.ExecRightMenuOnlyOne, model.MenuName));
|
MessageUtil.Show(string.Format(ResourceKeys.ExecRightMenuOnlyOne, model.MenuName));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (model.AllowNullExec && rowArray.Length == 0)
|
|
||||||
{
|
|
||||||
rowArray = new DataRow[] { new DataTable().NewRow() };
|
|
||||||
}
|
|
||||||
if (rowArray.Length == 0 && model.IsMustSelectRow())
|
if (rowArray.Length == 0 && model.IsMustSelectRow())
|
||||||
{
|
{
|
||||||
MessageUtil.Show(ResourceKeys.SelectRowIsNull);
|
MessageUtil.Show(ResourceKeys.SelectRowIsNull);
|
||||||
@@ -687,12 +684,7 @@ namespace Lskj.Control.Model
|
|||||||
return resultValue;
|
return resultValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 导入数据或者反写到界面
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="model"></param>
|
|
||||||
/// <param name="paramList"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
public bool OpenFrmcCover(GridRightMenuModel model, List<string> paramList)
|
public bool OpenFrmcCover(GridRightMenuModel model, List<string> paramList)
|
||||||
{
|
{
|
||||||
|
|
||||||
@@ -727,33 +719,7 @@ namespace Lskj.Control.Model
|
|||||||
//外部数据
|
//外部数据
|
||||||
DataTable table = GetDataTable();
|
DataTable table = GetDataTable();
|
||||||
|
|
||||||
|
// 2. 筛选出 ReverseData 和 table 中名称和数据类型都相同的列(排除主键列,避免重复赋值)
|
||||||
// 提取 ReverseData 中所有的主键值
|
|
||||||
HashSet<object> reversePrimaryKeys = new HashSet<object>(
|
|
||||||
ReverseData.AsEnumerable()
|
|
||||||
.Select(dr => dr[primaryKey])
|
|
||||||
.Where(val => val != DBNull.Value && val != null)
|
|
||||||
);
|
|
||||||
// 获取table中,没有更新的行(在ReverseData中没有对应主键)
|
|
||||||
IEnumerable<DataRow> 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 中名称和数据类型都相同的列(排除主键列,避免重复赋值)
|
|
||||||
var commonColumns = ReverseData.Columns.Cast<DataColumn>()
|
var commonColumns = ReverseData.Columns.Cast<DataColumn>()
|
||||||
.Where(col1 => col1.ColumnName != primaryKey // 跳过 id 列(无需更新)
|
.Where(col1 => col1.ColumnName != primaryKey // 跳过 id 列(无需更新)
|
||||||
&& table.Columns.Contains(col1.ColumnName) // 列名存在于 table2
|
&& table.Columns.Contains(col1.ColumnName) // 列名存在于 table2
|
||||||
@@ -937,7 +903,7 @@ namespace Lskj.Control.Model
|
|||||||
MessageUtil.Show(Message, sex.Message);
|
MessageUtil.Show(Message, sex.Message);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
catch (Exception)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
result = 0;
|
result = 0;
|
||||||
if (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)
|
switch (rValue)
|
||||||
{
|
{
|
||||||
@@ -2059,4 +2026,28 @@ namespace Lskj.Control.Model
|
|||||||
DataRow[] dataRows = columnsTab.Select().Where(n => (n["name"] + "").Equals(colunmField.Key)).ToArray();
|
DataRow[] dataRows = columnsTab.Select().Where(n => (n["name"] + "").Equals(colunmField.Key)).ToArray();
|
||||||
if (dataRows.Length == 0)
|
if (dataRows.Length == 0)
|
||||||
{
|
{
|
||||||
string a
|
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<string, string> 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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user