CRVM-redis-6/Host/DataAccessForm.cs

217 lines
6.7 KiB
C#
Raw Permalink Normal View History

2025-11-07 02:02:31 +08:00
using System;
using System.Windows.Forms;
using CRVM.Utility;
using CRVM.SIDExcuter;
using CRVM.Entity;
namespace CRVM
{
public partial class DataAccessForm : Form
{
//private Statusmodify modify;
private DbHelper dbHelper;
public DataAccessForm(DbHelper dbHelper)
{
this.dbHelper = dbHelper;
InitializeComponent();
}
private void MainForm_Load(object sender, EventArgs e)
{
FillString(dbHelper.SouDB, "sourcedb");
FillString(dbHelper.DesDB, "destdb");
Timer1Int.Text = dbHelper.Freq.ToString();
if (!dbHelper.isStart)
StopStatus();
else
StartStatus();
}
private EDBItem FillSourceDb1()
{
EDBItem soudb = new EDBItem();
soudb.DataType = cbxDbTypeBpc1.Text.Trim();
soudb.Database = txtDbNameBpc1.Text.Trim();
soudb.Userid = txtDbUserBpc1.Text.Trim();
soudb.Password = txtDbPwdBpc1.Text.Trim();
soudb.Ipaddress = txtDbIpBpc1.Text.Trim();
return soudb;
}
private EDBItem FillSourceDb2()
{
EDBItem soudb = new EDBItem();
soudb.DataType = cbxDbTypeBpc2.Text.Trim();
soudb.Database = txtDbNameBpc2.Text.Trim();
soudb.Userid = txtDbUserBpc2.Text.Trim();
soudb.Password = txtDbPwdBpc2.Text.Trim();
soudb.Ipaddress = txtDbIpBpc2.Text.Trim();
return soudb;
}
private void StartStatus()
{
cbxDbTypeBpc1.Enabled = false;
txtDbNameBpc1.ReadOnly = true;
txtDbUserBpc1.ReadOnly = true;
txtDbPwdBpc1.ReadOnly = true;
txtDbIpBpc1.ReadOnly = true;
txtDbNameBpc2.ReadOnly = true;
txtDbUserBpc2.ReadOnly = true;
txtDbPwdBpc2.ReadOnly = true;
txtDbIpBpc2.ReadOnly = true;
cbxDbTypeBpc2.Enabled = false;
btnDBName1.Visible = false;
btnDBName2.Visible = false;
btnStart.Enabled = false;
btnStop.Enabled = true;
btnModify.Enabled = false;
btnSave.Enabled = false;
Timer1Int.ReadOnly = true;
}
private void StopStatus()
{
cbxDbTypeBpc1.Enabled = true;
txtDbNameBpc1.ReadOnly = false;
txtDbUserBpc1.ReadOnly = false;
txtDbPwdBpc1.ReadOnly = false;
txtDbIpBpc1.ReadOnly = false;
txtDbNameBpc2.ReadOnly = false;
txtDbUserBpc2.ReadOnly = false;
txtDbPwdBpc2.ReadOnly = false;
txtDbIpBpc2.ReadOnly = false;
cbxDbTypeBpc2.Enabled = true;
btnStart.Enabled = true;
btnStop.Enabled = false;
btnModify.Enabled = true;
btnSave.Enabled = true;
Timer1Int.ReadOnly = false;
}
private void FillString(EDBItem soudb, string dbName)
{
if (dbName == "sourcedb")
{
cbxDbTypeBpc1.Text = soudb.DataType;
txtDbNameBpc1.Text = soudb.Database;
txtDbUserBpc1.Text = soudb.Userid;
txtDbPwdBpc1.Text = soudb.Password;
txtDbIpBpc1.Text = soudb.Ipaddress;
}
else if (dbName == "destdb")
{
cbxDbTypeBpc2.Text = soudb.DataType;
txtDbNameBpc2.Text = soudb.Database;
txtDbUserBpc2.Text = soudb.Userid;
txtDbPwdBpc2.Text = soudb.Password;
txtDbIpBpc2.Text = soudb.Ipaddress;
}
}
private void btnDBName1_Click(object sender, EventArgs e)
{
openFileDialog1.Filter = "*.accdb|*.accdb";
openFileDialog1.ShowDialog();
txtDbNameBpc1.Text = openFileDialog1.FileName;
}
private void btnDBName2_Click(object sender, EventArgs e)
{
openFileDialog1.Filter = "*.accdb|*.accdb";
openFileDialog1.ShowDialog();
txtDbNameBpc2.Text = openFileDialog1.FileName;
}
private void btnStart1_Click(object sender, EventArgs e)
{
if (!dbHelper.IsConnected(FillSourceDb1()))
{
MessageBox.Show("L2数据库连接失败请修改连接配置或查看网络");
return;
}
if (!dbHelper.IsConnected(FillSourceDb2()))
{
MessageBox.Show("本地数据库连接失败,请修改连接配置或查看网络");
return;
}
dbHelper.isStart = true;
StartStatus();
}
private void btnStop1_Click(object sender, EventArgs e)
{
dbHelper.isStart = false;
StopStatus();
}
private void btnModify_Click(object sender, EventArgs e)
{
}
private void btnSave_Click(object sender, EventArgs e)
{
dbHelper.SouDB = FillSourceDb1();
dbHelper.DesDB = FillSourceDb2();
if (!IsFreRight(Timer1Int.Text.Trim()))
{
Timer1Int.Text = dbHelper.Freq.ToString();
MessageBox.Show("频率必须设置为正整数!");
return;
}
dbHelper.Freq = Convert.ToInt32(Timer1Int.Text.Trim());
dbHelper.SaveConfigData();
MessageBox.Show("保存文件成功");
}
private void soulinktest_Click(object sender, EventArgs e)
{
if (dbHelper.IsConnected(FillSourceDb1()))
{
MessageBox.Show("数据库连接成功!");
}
else
{
MessageBox.Show("数据库连接失败!");
}
}
private void deslinktest_Click(object sender, EventArgs e)
{
if (dbHelper.IsConnected(FillSourceDb2()))
{
MessageBox.Show("数据库连接成功!");
}
else
{
MessageBox.Show("数据库连接失败!");
}
}
private void Timer1Int_Validating(object sender, System.ComponentModel.CancelEventArgs e)
{
if (!IsFreRight(Timer1Int.Text.Trim()))
{
Timer1Int.Text = dbHelper.Freq.ToString();
MessageBox.Show("频率必须设置为正整数!");
return;
}
}
private bool IsFreRight(string freStr)
{
string pattren = @"^[1-9]\d*$";
return SysParam.Instance.DataIsMatch(freStr, pattren);
}
}
}