CRVM-redis-6/Host/DataAccessForm.cs
2025-11-07 02:02:31 +08:00

217 lines
6.7 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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);
}
}
}