Commit 9f174ecb authored by tr's avatar tr

1、更新为继承模板父类:数据简易分析,数据库开发工具,系统检查配置

parent e078c297
......@@ -33,19 +33,8 @@ namespace Tools.MyCommon
public wEditBasic()
{
InitializeComponent();
//窗体的基础初始化
this.Load += WEditBasic_Load;
}
/// <summary>
/// 窗体加载
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void WEditBasic_Load(object sender, EventArgs e)
{
this.InitData();
this.InitUI();
}
/// <summary>
/// 初始化数据库访问对象
/// </summary>
......
......@@ -21,7 +21,7 @@ namespace Tools.MyData
/// <summary>
/// 数据库链接
/// </summary>
private string _link = "";
string _link = "";
/// <summary>
/// 构造函数:数据访问帮助类
......
......@@ -21,9 +21,17 @@ namespace Tools.MyUtils
/// </summary>
public DbItemModel LinkModel { get; private set; }
/// <summary>
/// 回显的控件
/// </summary>
public object EchoControl { get; private set; }
/// <summary>
/// 回显的工具栏标签
/// </summary>
public ToolStripLabel EchoToolStripLabel { get; private set; }
/// <summary>
/// 回显的工具栏文本框
/// </summary>
public ToolStripTextBox EchoToolStripTextBox { get; private set; }
SmpDB _db = new SmpDB();
DataTable _dt = null;
......@@ -34,14 +42,14 @@ namespace Tools.MyUtils
string UserId => this.tbUserId.Text.Trim();
string Pwd => this.tbPwd.Text.Trim();
public wDbSetting(ToolStripLabel toolStripLabel = null)
public wDbSetting(object control = null)
{
InitializeComponent();
this.MinimizeBox = false;
this.MaximizeBox = false;
this.DialogResult = DialogResult.None;
//设置回显的工具栏标签
this.EchoToolStripLabel = toolStripLabel;
//设置回显的控件
this.EchoControl = control;
}
private void wDbSetting_Load(object sender, EventArgs e)
{
......@@ -77,10 +85,7 @@ namespace Tools.MyUtils
return;
}
//设置回显
if (this.EchoToolStripLabel != null)
{
this.EchoToolStripLabel.Text = this.LinkModel.ToString();
}
this.SetEcho(this.LinkModel);
//保存历史
var drArray = this._dt.Select($"Link='{this.Link}' and DbName='{this.DbName}' and UserId='{this.UserId}' and Pwd='{this.Pwd}'");
if (drArray.Length == 0)
......@@ -126,6 +131,28 @@ namespace Tools.MyUtils
this.tbUserId.Text = m.UserId;
this.tbPwd.Text = m.Pwd;
}
/// <summary>
/// 设置回显
/// </summary>
/// <param name="m"></param>
public void SetEcho(DbItemModel m)
{
//设置回显的控件
if (this.EchoControl is Control)
{
(this.EchoControl as Control).Text = m.ToString();
}
//设置回显的工具栏标签
if (this.EchoControl is ToolStripLabel)
{
(this.EchoControl as ToolStripLabel).Text = m.ToString();
}
//设置回显的工具栏文本框
if (this.EchoControl is ToolStripTextBox)
{
(this.EchoControl as ToolStripTextBox).Text = m.ToString();
}
}
}
......
......@@ -16,20 +16,8 @@ using Tools.MyUtils;
namespace Tools.UI
{
public partial class wDBTools : wBasic
public partial class wDBTools : wEditBasic
{
/// <summary>
/// 数据库访问对象
/// </summary>
SmpDB _db = new SmpDB();
/// <summary>
/// 全局数据源
/// </summary>
DataSet _ds = null;
/// <summary>
/// 数据库链接
/// </summary>
string _link = "";
/// <summary>
/// 系统配置
/// </summary>
......@@ -90,7 +78,7 @@ namespace Tools.UI
//保存到全局字典对象
this.SetConfig();
}
private void InitData()
public override void InitData()
{
#region 数据结构定义
......@@ -123,7 +111,7 @@ namespace Tools.UI
#endregion
}
private void InitUI()
public override void InitUI()
{
//基本信息绑定
this.BindBaseInfo();
......@@ -218,7 +206,7 @@ namespace Tools.UI
{
if (!this.CheckDetail())
return;
if (string.IsNullOrEmpty(this._link))
if (this._db == null)
{
Utils.Tip("数据库链接未配置,请先设置!");
return;
......@@ -240,7 +228,7 @@ namespace Tools.UI
fs.Write(bytes, 0, bytes.Length);
}
//执行SQL
this._db.ExecNonSql(this._link, new List<string> { sql });
this._db.ExecNonSql(new List<string> { sql });
//Utils.Tip("Sql生成并执行成功!");
Utils.OpenFileWithNotepad(sqlFileName);
}
......@@ -318,11 +306,10 @@ namespace Tools.UI
private void TsbDbLink_Click(object sender, EventArgs e)
{
var w = new wDbSetting();
var w = new wDbSetting(this.tstbDbLink);
if (w.ShowDialog() == DialogResult.OK)
{
this._link = w.LinkModel.LinkString;
this.tstbDbLink.Text = w.LinkModel.ToString();
this.InitDBHelper(w.LinkModel);
}
}
......@@ -366,7 +353,7 @@ namespace Tools.UI
private bool CheckDetail()
{
//检查数据库链接
if (string.IsNullOrEmpty(this._link) || !this._db.ConnectionTest(this._link))
if (this._db == null || !this._db.ConnectionTest())
{
Utils.Tip("数据库链接无效,请选择有效链接!");
return false;
......@@ -416,8 +403,9 @@ namespace Tools.UI
//保存到全局字典对象
this.dicConfig = dtSetting.Rows.Cast<DataRow>().ToDictionary(x => x["Name"].ToString(), x => x["Value"].ToString());
//初始化数据库链接
this._link = dicConfig["DefaultLink"];
this.tstbDbLink.Text = Utils.GetDbItemModel(this._link).ToString();
var link = dicConfig["DefaultLink"];
this.tstbDbLink.Text = Utils.GetDbItemModel(link).ToString();
this.InitDBHelper(link); //初始化数据访问对象
}
/// <summary>
/// 创建明细新行
......@@ -474,7 +462,7 @@ namespace Tools.UI
}
}
//执行SQL语句
this._db.ExecNonSql(this._link, sqlist);
this._db.ExecNonSql(sqlist);
}
/// <summary>
/// 初始化默认路径
......@@ -505,7 +493,7 @@ namespace Tools.UI
/// <returns></returns>
private bool IsExistTable(string tableName)
{
return this._db.IsExist(this._link, $"SELECT COUNT(*) FROM sys.tables WHERE [name] = '{tableName}'");
return this._db.IsExist($"SELECT COUNT(*) FROM sys.tables WHERE [name] = '{tableName}'");
}
/// <summary>
/// 初始化表列信息(针对已存在的表)
......@@ -545,7 +533,7 @@ namespace Tools.UI
try
{
var ds = this._db.GetData(this._link, sqlist, true);
var ds = this._db.GetData(sqlist, true);
//先添加表描述
this.tbTableDescription.Text = ds.Tables["TableDescInfo"].DefaultView[0]["TableDescription"].ToString();
//初始化列信息
......
......@@ -20,6 +20,8 @@ namespace Tools.UI
public wDbAnlysis()
{
InitializeComponent();
//初始化界面
this.InitUI();
}
/// <summary>
......@@ -112,5 +114,6 @@ namespace Tools.UI
return result;
}
}
}
......@@ -15,12 +15,9 @@ using Tools.MyUtils;
namespace Tools.UI
{
public partial class wSysChecker : wBasic
public partial class wSysChecker : wEditBasic
{
SmpDB _db = new SmpDB();
DataSet _ds = null;
DataTable _dtMessage = null;
string _link = "";
bool _IsFirstLoad = true;
List<TQuery> tableList = null;
......@@ -54,13 +51,13 @@ namespace Tools.UI
this._IsFirstLoad = false;
}
private void InitData()
public override void InitData()
{
//第一次不加载
if (this._IsFirstLoad)
return;
//获取数据
if (string.IsNullOrEmpty(this._link))
if (this._db == null)
{
Utils.Tip("请先选择目标数据库!");
return;
......@@ -71,8 +68,8 @@ namespace Tools.UI
new TQuery(this.T_Config, $"select * from {this.T_Config}") ,
new TQuery(this.T_ConfigDetail, $"select * from {this.T_ConfigDetail}") ,
};
this._ds = this._db.GetData(this._link, tableList, true);
this._dtMessage = this._db.GetDataTable(this._link, $"select * from {this.T_Message}", this.T_Message);
this._ds = this._db.GetData(tableList, true);
this._dtMessage = this._db.GetDataTable($"select * from {this.T_Message}", this.T_Message);
}
catch (Exception ex)
{
......@@ -88,7 +85,7 @@ namespace Tools.UI
this._dtMessage.DefaultView.RowFilter = $"Flag = '{this.cmbFilter.Text}'";
this.dgvMessage.DataSource = this._dtMessage;
}
private void InitUI()
public override void InitUI()
{
//初始化数据表格
this.InitGridView(this.dgvConfig);
......@@ -111,6 +108,18 @@ namespace Tools.UI
this.btnTodo.Click += BtnTodo_Click;
this.btnHandled.Click += BtnHandled_Click;
}
public override bool Save()
{
//结束编辑
this.EndEdit();
//保存配置信息
bool b = false;
if (this._ds.HasChanges())
{
b = this._db.SaveData(this._ds, this.tableList);
}
return b;
}
#region 工具栏-事件
......@@ -155,7 +164,10 @@ namespace Tools.UI
sw.Start();
try
{
this._db.ExecNonSql(localLink, sqlist);
using (SmpDB tmpdb = new SmpDB())
{
tmpdb.ExecNonSql(localLink, sqlist);
}
}
catch (Exception ex)
{
......@@ -169,10 +181,12 @@ namespace Tools.UI
private void TsbDB_Click(object sender, EventArgs e)
{
//数据库
var frm = new wDbSetting();
var frm = new wDbSetting(this.tstbLinkString);
if (frm.ShowDialog() == DialogResult.OK)
{
this.SetDbLink(frm.LinkModel);
//初始化数据访问对象
this.InitDBHelper(frm.LinkModel);
//刷新界面
this.TsbRefresh_Click(null, null);
}
}
......@@ -264,11 +278,7 @@ namespace Tools.UI
if (!this.CheckDataSource())
return;
var text = this.cmbFilter.Text;
string filter = "";
if (!string.IsNullOrEmpty(text) && text != "全部")
{
filter = $"Flag = '{text}'";
}
string filter = text.Equals("全部") ? "" : $"Flag = '{text}'";
this._dtMessage.DefaultView.RowFilter = filter;
}
private void BtnIgnore_Click(object sender, EventArgs e)
......@@ -309,20 +319,11 @@ namespace Tools.UI
/// </summary>
private void SaveMessage()
{
this._db.SaveDataTable(this._link, this._dtMessage);
this._db.SaveDataTable(this._dtMessage);
}
#endregion
/// <summary>
/// 设置数据库链接
/// </summary>
/// <param name="m"></param>
private void SetDbLink(DbItemModel m)
{
this._link = m.LinkString;
this.tstbLinkString.Text = m.ToString();
}
/// <summary>
/// 初始化数据表格
/// </summary>
......@@ -371,21 +372,7 @@ namespace Tools.UI
}
}
}
/// <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