Commit 65c60631 authored by tr's avatar tr

1、系统检查配置工具优化

parent ff988c8c
No preview for this file type
No preview for this file type
...@@ -24,4 +24,10 @@ ...@@ -24,4 +24,10 @@
<UserId>sa</UserId> <UserId>sa</UserId>
<Pwd>sa</Pwd> <Pwd>sa</Pwd>
</links> </links>
<links>
<Link>192.168.1.204</Link>
<DbName>FTT_MES</DbName>
<UserId>sa</UserId>
<Pwd>sa</Pwd>
</links>
</DocumentElement> </DocumentElement>
\ No newline at end of file
使用说明:
2、操作说明:支持右键増行/删行
3、保存:保存配置信息主表和明细表
4、刷新:刷新配置信息和错误消息
5、服务测试:保存并执行配置信息。因配置信息保存在通用库,所以需重新选择一次目标库
6、数据库:选择系统检查配置的存储数据库,一般是通用库FTT
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Data; using System.Data;
using System.Diagnostics; using System.Diagnostics;
using System.IO;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
...@@ -75,6 +76,21 @@ namespace Tools.MyUtils ...@@ -75,6 +76,21 @@ namespace Tools.MyUtils
new wMsgBox().Show(msg, width, height); new wMsgBox().Show(msg, width, height);
} }
/// <summary> /// <summary>
/// 显示帮助信息
/// </summary>
/// <param name="txtFileName"></param>
public static void ShowHelp(string txtFileName)
{
var helpFileName = $@"{Utils.ConfigPath}\{txtFileName}.txt";
if (File.Exists(helpFileName))
{
using (var sr = new StreamReader(helpFileName))
{
Utils.Tip(sr.ReadToEnd(), 700, 400);
}
}
}
/// <summary>
/// 生成定长序号 /// 生成定长序号
/// </summary> /// </summary>
/// <param name="seed">序号</param> /// <param name="seed">序号</param>
......
...@@ -200,6 +200,16 @@ namespace Tools.Properties { ...@@ -200,6 +200,16 @@ namespace Tools.Properties {
} }
} }
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
internal static System.Drawing.Bitmap 测试 {
get {
object obj = ResourceManager.GetObject("测试", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary> /// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。 /// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary> /// </summary>
......
...@@ -160,6 +160,9 @@ ...@@ -160,6 +160,9 @@
<data name="查询" type="System.Resources.ResXFileRef, System.Windows.Forms"> <data name="查询" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\查询.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> <value>..\Resources\查询.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data> </data>
<data name="测试" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\测试.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="类" type="System.Resources.ResXFileRef, System.Windows.Forms"> <data name="类" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\类.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> <value>..\Resources\类.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data> </data>
......
...@@ -226,5 +226,8 @@ ...@@ -226,5 +226,8 @@
<ItemGroup> <ItemGroup>
<None Include="Resources\保存.png" /> <None Include="Resources\保存.png" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<None Include="Resources\测试.png" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project> </Project>
\ No newline at end of file
...@@ -337,15 +337,7 @@ namespace Tools.UI ...@@ -337,15 +337,7 @@ namespace Tools.UI
private void TsbHelp_Click(object sender, EventArgs e) private void TsbHelp_Click(object sender, EventArgs e)
{ {
var helpFileName = $@"{Utils.ConfigPath}\help.txt"; Utils.ShowHelp("dbtools_help");
if (File.Exists(helpFileName))
{
using (var sr = new StreamReader(helpFileName))
{
Utils.Tip(sr.ReadToEnd(), 700, 300);
}
}
} }
#endregion #endregion
......
This diff is collapsed.
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.ComponentModel; using System.ComponentModel;
using System.Data; using System.Data;
using System.Diagnostics;
using System.Drawing; using System.Drawing;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
...@@ -96,6 +97,7 @@ namespace Tools.UI ...@@ -96,6 +97,7 @@ namespace Tools.UI
//工具栏-事件 //工具栏-事件
this.tsbSave.Click += TsbSave_Click; this.tsbSave.Click += TsbSave_Click;
this.tsbRefresh.Click += TsbRefresh_Click; this.tsbRefresh.Click += TsbRefresh_Click;
this.tsbTestService.Click += TsbTestService_Click;
this.tsbDB.Click += TsbDB_Click; this.tsbDB.Click += TsbDB_Click;
this.tsbHelp.Click += TsbHelp_Click; this.tsbHelp.Click += TsbHelp_Click;
//数据表格-事件 //数据表格-事件
...@@ -116,21 +118,54 @@ namespace Tools.UI ...@@ -116,21 +118,54 @@ namespace Tools.UI
{ {
if (!this.CheckDataSource()) if (!this.CheckDataSource())
return; return;
//结束编辑 try
this.dgvConfig.CommitEdit(DataGridViewDataErrorContexts.Display); {
this.dgvConfigDetail.CommitEdit(DataGridViewDataErrorContexts.Display); this.Save();
this.DataSetEndEdit(this._ds); Utils.Tip($"保存成功!");
//保存配置信息 }
if (this._ds.HasChanges()) catch (Exception ex)
{ {
this._db.SaveData(this._link, this._ds, this.tableList); Utils.Tip($"保存失败!\r\n{ex.Message}\r\n{ex.StackTrace}");
return;
} }
Utils.Tip("保存成功!");
} }
private void TsbRefresh_Click(object sender, EventArgs e) private void TsbRefresh_Click(object sender, EventArgs e)
{ {
this.InitData(); this.InitData();
} }
private void TsbTestService_Click(object sender, EventArgs e)
{
//先保存:存储过程内部检查是否启用,需要通过数据库判断
this.Save();
//选择执行库
var frm = new wDbSetting();
if (frm.ShowDialog() != DialogResult.OK)
return;
var localLink = frm.LinkModel.LinkString;
//生成语句
var sqlist = new List<string>();
foreach (DataRow r in this._ds.Tables[T_ConfigDetail].Rows)
{
if (r.RowState == DataRowState.Deleted)
continue;
sqlist.Add($"Exec {r["ProcName"]} @SerialNo={r["SerialNo"]};");
}
//计时器
Stopwatch sw = new Stopwatch();
sw.Start();
try
{
this._db.ExecNonSql(localLink, sqlist);
}
catch (Exception ex)
{
Utils.Tip($"测试执行出错!\r\n{ex.Message}\r\n{ex.StackTrace}");
return;
}
sw.Stop();
var second = sw.ElapsedMilliseconds / 1000.0;
Utils.Tip($"测试通过!总耗时{second.ToString("0.##")}秒");
}
private void TsbDB_Click(object sender, EventArgs e) private void TsbDB_Click(object sender, EventArgs e)
{ {
//数据库 //数据库
...@@ -143,7 +178,7 @@ namespace Tools.UI ...@@ -143,7 +178,7 @@ namespace Tools.UI
} }
private void TsbHelp_Click(object sender, EventArgs e) private void TsbHelp_Click(object sender, EventArgs e)
{ {
//帮助信息:最后处理 Utils.ShowHelp("syschecker_help");
} }
#endregion #endregion
...@@ -314,26 +349,43 @@ namespace Tools.UI ...@@ -314,26 +349,43 @@ namespace Tools.UI
return result; return result;
} }
/// <summary> /// <summary>
/// 结束数据集编辑 /// 结束编辑
/// </summary> /// </summary>
/// <param name="ds"></param> /// <param name="ds"></param>
private void DataSetEndEdit(DataSet ds) private void EndEdit()
{ {
if (ds == null) if (this._ds == null)
return; return;
//数据表格界面提交
foreach (DataTable dt in ds.Tables) this.dgvConfig.CommitEdit(DataGridViewDataErrorContexts.Display);
this.dgvConfigDetail.CommitEdit(DataGridViewDataErrorContexts.Display);
//数据源结束编辑
foreach (DataTable dt in this._ds.Tables)
{ {
foreach (DataRow r in dt.Rows) foreach (DataRow r in dt.Rows)
{ {
if (r.RowState != DataRowState.Deleted if (r.RowState != DataRowState.Deleted && r.RowState != DataRowState.Detached)
&& r.RowState != DataRowState.Detached)
{ {
r.EndEdit(); r.EndEdit();
} }
} }
} }
} }
/// <summary>
/// 保存配置信息
/// </summary>
private bool Save()
{
//结束编辑
this.EndEdit();
//保存配置信息
bool b = false;
if (this._ds.HasChanges())
{
b = this._db.SaveData(this._link, this._ds, this.tableList);
}
return b;
}
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment