diff --git a/CNAS_Authorize/CNAS_Authorize.csproj b/CNAS_Authorize/CNAS_Authorize.csproj index 36cc17a..c283acc 100644 --- a/CNAS_Authorize/CNAS_Authorize.csproj +++ b/CNAS_Authorize/CNAS_Authorize.csproj @@ -99,6 +99,10 @@ + + {8E0E5F2E-2BA2-4952-9F31-34C072CD86B3} + CnasSynchronousCommon + {CB9B6D92-3CC4-46C6-92E8-A6FD0AD48041} CnasSynchronusBLL diff --git a/CNAS_Authorize/MachineAuth.cs b/CNAS_Authorize/MachineAuth.cs index 1c57625..8bd8bbb 100644 --- a/CNAS_Authorize/MachineAuth.cs +++ b/CNAS_Authorize/MachineAuth.cs @@ -95,15 +95,6 @@ namespace CNAS_Authorize } } - //获取Machine表的数据 - //m_machines = new List(); - ////TEST DATA - //for(int i = 0; i < 15; i++) - //{ - // Machine m = new Machine("MACHINEE"+ (i+1), "CODE" + (i + 1), "2025-02-02", i%2==0); - // m_machines.Add(m); - //} - m_rangle = new List(); m_rangle.AddRange(m_machines); diff --git a/CNAS_Authorize/MainWindow.xaml.cs b/CNAS_Authorize/MainWindow.xaml.cs index c8253b6..5744375 100644 --- a/CNAS_Authorize/MainWindow.xaml.cs +++ b/CNAS_Authorize/MainWindow.xaml.cs @@ -1,6 +1,8 @@ -using CnasSynchronusClient; +using CnasSynchronousCommon; +using CnasSynchronusClient; using System; using System.Collections.Generic; +using System.Data; using System.Linq; using System.Security.Cryptography; using System.Text; @@ -32,6 +34,11 @@ namespace CNAS_Authorize } private void Window_Loaded(object sender, RoutedEventArgs e) + { + this.LoadData(); + } + + private void LoadData() { m_machines = new MachineAuth(); m_machines.Load(); @@ -99,28 +106,36 @@ namespace CNAS_Authorize private void ConfirmImport_Click(object sender, RoutedEventArgs e) { - //MySQLHelper.ExecuteNonQuery(strInsertSql, parameters); - //int iReturn = CnasDataOperationFact.CnasDataOperation().InsertDataToCNASTable(ConvertDataRowToTable(drNewTarget), targetdataBase, banlanceitem.syncParamasInfos, banlanceitem.CnasInstrumentColumn, banlanceitem.lstFixedValue); - //if (iReturn <= 0) //此时出现问题 - //{ - // if (iReturn == -1) - // { - // AppLog.ServiceInfo("数据库连接中断,终止本次上传。"); - // break; //此时数据库连接中断,直接跳出循环,结束本次数据同步传输 - // } - // else if (iReturn == -2) //等于-2表示插入准备更新时发现数据一致,不再执行 - // { - // OtherCount++; - // } - // else - // { - // ErrorCount++; - // /*需要转换一下,否则会将整个dt全部写入日志*/ - // lstError.Add(GlobalCommonOperation.ConvertDataRowToTable(drNewTarget).Rows[0]); - // } - - // bSuccess = false; - //} + + //加载CNAS数据库配置 + var targetDataBase = FileOperation.GetLocalCnasDB(); + if (!CnasDataOperationFact.CnasDataOperation().TestConnect(targetDataBase)) + { + MessageBox.Show("CNAS数据库无法正常连接...", "提示"); + return; + } + + var existData = CnasDataOperationFact.CnasDataOperation().GetTableData(targetDataBase, $"select * from macaddress where MAC_ADDRESS='{edtMachine.Text.Trim()}'"); + if(existData!=null&& existData.Rows.Count > 0) + { + MessageBox.Show("已经导入!"); + return; + } + StringBuilder sb = new StringBuilder(); + sb.AppendFormat($"insert into macaddress(MAC_ADDRESS,PLANTCODE,CREATETIME,FACILITY_STYLE) VALUES('{edtMachine.Text.Trim()}','{edtFactory.Text.Trim()}',now(),'999')"); + + //1.加载数据 + var flag = CnasDataOperationFact.CnasDataOperation().InsertTableData(targetDataBase, sb.ToString()); + if (flag) + { + AppLog.ServiceInfo("导入成功"); + MessageBox.Show("导入成功...", "提示"); + this.LoadData(); + } + else + { + MessageBox.Show("导入失败...", "提示"); + } } private void DownloadActivationCode_Click(object sender, RoutedEventArgs e) @@ -133,7 +148,7 @@ namespace CNAS_Authorize { // 生成激活码 string activationCode = GenerateActivationCode(machine.MachineCode); - + // 创建保存文件对话框 var saveFileDialog = new Microsoft.Win32.SaveFileDialog { @@ -147,7 +162,7 @@ namespace CNAS_Authorize // 将激活码写入文件 System.IO.File.WriteAllText(saveFileDialog.FileName, activationCode); MessageBox.Show("激活码已成功保存!", "提示", MessageBoxButton.OK, MessageBoxImage.Information); - + // 更新状态 machine.IsGenerated = true; refreshBind(); @@ -170,7 +185,7 @@ namespace CNAS_Authorize string input = machineCode + DateTime.Now.ToString("yyyyMMdd"); byte[] inputBytes = Encoding.UTF8.GetBytes(input); byte[] hashBytes = md5.ComputeHash(inputBytes); - + // 转换为16进制字符串 StringBuilder sb = new StringBuilder(); for (int i = 0; i < hashBytes.Length; i++) diff --git a/CNAS_DBSync/ActivationForm.Designer.cs b/CNAS_DBSync/ActivationForm.Designer.cs new file mode 100644 index 0000000..94f0bef --- /dev/null +++ b/CNAS_DBSync/ActivationForm.Designer.cs @@ -0,0 +1,115 @@ +namespace CNAS_DBSync +{ + partial class ActivationForm + { + private System.ComponentModel.IContainer components = null; + + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + private void InitializeComponent() + { + this.lblTitle = new System.Windows.Forms.Label(); + this.lblDescription = new System.Windows.Forms.Label(); + this.lblActivationCode = new System.Windows.Forms.Label(); + this.txtActivationCode = new System.Windows.Forms.TextBox(); + this.btnActivate = new System.Windows.Forms.Button(); + this.lnkDownloadCode = new System.Windows.Forms.LinkLabel(); + this.SuspendLayout(); + // + // lblTitle + // + this.lblTitle.Location = new System.Drawing.Point(0, 0); + this.lblTitle.Name = "lblTitle"; + this.lblTitle.Size = new System.Drawing.Size(100, 23); + this.lblTitle.TabIndex = 0; + // + // lblDescription + // + this.lblDescription.Font = new System.Drawing.Font("微软雅黑", 10F); + this.lblDescription.ForeColor = System.Drawing.Color.Red; + this.lblDescription.Location = new System.Drawing.Point(20, 60); + this.lblDescription.Name = "lblDescription"; + this.lblDescription.Size = new System.Drawing.Size(560, 40); + this.lblDescription.TabIndex = 1; + this.lblDescription.Text = "请点击上方按钮下载机器识别码,然后将机器识别码发给平台管理员申请授权文件后进行激活,激活后才可正常使用取数仪器客户端。"; + // + // lblActivationCode + // + this.lblActivationCode.AutoSize = true; + this.lblActivationCode.Location = new System.Drawing.Point(20, 120); + this.lblActivationCode.Name = "lblActivationCode"; + this.lblActivationCode.Size = new System.Drawing.Size(82, 24); + this.lblActivationCode.TabIndex = 2; + this.lblActivationCode.Text = "激活码:"; + // + // txtActivationCode + // + this.txtActivationCode.Location = new System.Drawing.Point(20, 140); + this.txtActivationCode.Multiline = true; + this.txtActivationCode.Name = "txtActivationCode"; + this.txtActivationCode.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; + this.txtActivationCode.Size = new System.Drawing.Size(560, 150); + this.txtActivationCode.TabIndex = 0; + // + // btnActivate + // + this.btnActivate.Location = new System.Drawing.Point(250, 310); + this.btnActivate.Name = "btnActivate"; + this.btnActivate.Size = new System.Drawing.Size(100, 30); + this.btnActivate.TabIndex = 3; + this.btnActivate.Text = "输入激活"; + this.btnActivate.Click += new System.EventHandler(this.btnActivate_Click); + // + // lnkDownloadCode + // + this.lnkDownloadCode.ActiveLinkColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(102)))), ((int)(((byte)(204))))); + this.lnkDownloadCode.AutoSize = true; + this.lnkDownloadCode.Font = new System.Drawing.Font("微软雅黑", 10F); + this.lnkDownloadCode.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline; + this.lnkDownloadCode.LinkColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(102)))), ((int)(((byte)(204))))); + this.lnkDownloadCode.Location = new System.Drawing.Point(20, 23); + this.lnkDownloadCode.Name = "lnkDownloadCode"; + this.lnkDownloadCode.Size = new System.Drawing.Size(152, 27); + this.lnkDownloadCode.TabIndex = 4; + this.lnkDownloadCode.TabStop = true; + this.lnkDownloadCode.Text = "下载机器识别码"; + this.lnkDownloadCode.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.lnkDownloadCode_LinkClicked); + // + // ActivationForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(11F, 24F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(600, 360); + this.Controls.Add(this.lblTitle); + this.Controls.Add(this.lblDescription); + this.Controls.Add(this.lblActivationCode); + this.Controls.Add(this.txtActivationCode); + this.Controls.Add(this.btnActivate); + this.Controls.Add(this.lnkDownloadCode); + this.Font = new System.Drawing.Font("微软雅黑", 9F); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "ActivationForm"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "下载机器识别码"; + this.ResumeLayout(false); + this.PerformLayout(); + + } + + private System.Windows.Forms.Label lblTitle; + private System.Windows.Forms.Label lblDescription; + private System.Windows.Forms.Label lblActivationCode; + private System.Windows.Forms.TextBox txtActivationCode; + private System.Windows.Forms.Button btnActivate; + private System.Windows.Forms.LinkLabel lnkDownloadCode; + } +} \ No newline at end of file diff --git a/CNAS_DBSync/ActivationForm.cs b/CNAS_DBSync/ActivationForm.cs new file mode 100644 index 0000000..27aaf50 --- /dev/null +++ b/CNAS_DBSync/ActivationForm.cs @@ -0,0 +1,173 @@ +using System; +using System.Text; +using System.Windows.Forms; +using System.Management; +using System.Net.NetworkInformation; +using System.Collections.Generic; +using System.IO; + +namespace CNAS_DBSync +{ + public partial class ActivationForm : Form + { + public bool IsActivated { get; private set; } + + public ActivationForm() + { + InitializeComponent(); + IsActivated = false; + } + + private void btnActivate_Click(object sender, EventArgs e) + { + string activationCode = txtActivationCode.Text.Trim(); + if (string.IsNullOrEmpty(activationCode)) + { + MessageBox.Show("请输入激活码!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); + return; + } + + try + { + if (ValidateActivationCode(activationCode)) + { + IsActivated = true; + this.DialogResult = DialogResult.OK; + this.Close(); + } + else + { + MessageBox.Show("激活码无效!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + catch (Exception ex) + { + MessageBox.Show($"激活失败:{ex.Message}", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void lnkDownloadCode_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) + { + try + { + string machineCode = GetMachineCode(); + + // 创建保存文件对话框 + var saveFileDialog = new SaveFileDialog + { + FileName = $"机器码_{DateTime.Now:yyyyMMdd}", + DefaultExt = ".txt", + Filter = "文本文件|*.txt" + }; + + if (saveFileDialog.ShowDialog() == DialogResult.OK) + { + File.WriteAllText(saveFileDialog.FileName, machineCode); + MessageBox.Show("机器码已成功保存!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + } + catch (Exception ex) + { + MessageBox.Show($"获取机器码失败:{ex.Message}", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private string GetMachineCode() + { + StringBuilder machineCode = new StringBuilder(); + + // 获取CPU ID + string cpuId = GetCPUId(); + machineCode.Append(cpuId); + + // 获取所有MAC地址 + List macAddresses = GetMACAddresses(); + foreach (string mac in macAddresses) + { + machineCode.Append("_").Append(mac); + } + + return machineCode.ToString(); + } + + private string GetCPUId() + { + try + { + using (ManagementClass mc = new ManagementClass("Win32_Processor")) + { + ManagementObjectCollection moc = mc.GetInstances(); + foreach (ManagementObject mo in moc) + { + return mo.Properties["ProcessorId"].Value.ToString(); + } + } + } + catch (Exception ex) + { + throw new Exception("获取CPU ID失败: " + ex.Message); + } + return string.Empty; + } + + private List GetMACAddresses() + { + List macAddresses = new List(); + try + { + NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces(); + foreach (NetworkInterface adapter in nics) + { + // 只获取物理网卡的MAC地址 + if (adapter.NetworkInterfaceType == NetworkInterfaceType.Ethernet || + adapter.NetworkInterfaceType == NetworkInterfaceType.Wireless80211) + { + string mac = adapter.GetPhysicalAddress().ToString(); + if (!string.IsNullOrEmpty(mac)) + { + macAddresses.Add(mac); + } + } + } + } + catch (Exception ex) + { + throw new Exception("获取MAC地址失败: " + ex.Message); + } + return macAddresses; + } + + private bool ValidateActivationCode(string activationCode) + { + // 使用实际的机器码来验证 + string machineCode = GetMachineCode(); + return GenerateActivationCode(machineCode) == activationCode; + } + + private string GenerateActivationCode(string machineCode) + { + // 这里实现激活码生成算法 + // 示例:简单的加密算法,实际应用中应该使用更安全的加密方式 + using (var md5 = System.Security.Cryptography.MD5.Create()) + { + // 加入时间戳使得生成的激活码具有时效性 + string input = machineCode + DateTime.Now.ToString("yyyyMMdd"); + byte[] inputBytes = Encoding.UTF8.GetBytes(input); + byte[] hashBytes = md5.ComputeHash(inputBytes); + + // 转换为16进制字符串 + StringBuilder sb = new StringBuilder(); + for (int i = 0; i < hashBytes.Length; i++) + { + sb.Append(hashBytes[i].ToString("X2")); + // 每4个字符添加一个分隔符,提高可读性 + if ((i + 1) % 4 == 0 && i != hashBytes.Length - 1) + { + sb.Append("-"); + } + } + return sb.ToString(); + } + } + } +} \ No newline at end of file diff --git a/CNAS_DBSync/ActivationForm.resx b/CNAS_DBSync/ActivationForm.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/CNAS_DBSync/ActivationForm.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/CNAS_DBSync/CNAS_DBSync.csproj b/CNAS_DBSync/CNAS_DBSync.csproj index 2d1d911..012f8fc 100644 --- a/CNAS_DBSync/CNAS_DBSync.csproj +++ b/CNAS_DBSync/CNAS_DBSync.csproj @@ -63,6 +63,12 @@ + + Form + + + ActivationForm.cs + @@ -157,6 +163,9 @@ + + ActivationForm.cs + frmAddSubtract.cs diff --git a/CNAS_DBSync/Program.cs b/CNAS_DBSync/Program.cs index a61e25d..28717bf 100644 --- a/CNAS_DBSync/Program.cs +++ b/CNAS_DBSync/Program.cs @@ -23,8 +23,18 @@ namespace CNAS_DBSync /*CheckAvailability(ref strMsg);*/ if (strMsg == "") { - if (new frmOperationPwd().ShowDialog() == DialogResult.OK) - Application.Run(new frmSyncParams()); + // 显示激活窗口 + using (var activationForm = new ActivationForm()) + { + if (activationForm.ShowDialog() == DialogResult.OK) + { + // 激活成功,显示主窗口 + if (new frmOperationPwd().ShowDialog() == DialogResult.OK) + Application.Run(new frmSyncParams()); + } + //else + // MessageBox.Show("激活失败"); + } } else MessageBox.Show(strMsg); diff --git a/CnasSynchronusClient/TargetCnasData/DB2CNASDataOperation.cs b/CnasSynchronusClient/TargetCnasData/DB2CNASDataOperation.cs index 8a7a8b6..be6e143 100644 --- a/CnasSynchronusClient/TargetCnasData/DB2CNASDataOperation.cs +++ b/CnasSynchronusClient/TargetCnasData/DB2CNASDataOperation.cs @@ -73,6 +73,11 @@ namespace CnasSynchronusClient return db2DataBaseService.InsertDataToCNASTable(dt, dataBase, syncParamasInfos, strInsturmentColumn, lstFixedValue); } + public bool InsertTableData(DataBaseInfo dataBase, string strSql) + { + throw new NotImplementedException(); + } + public bool TestConnect(DataBaseInfo dataBase) { return db2DataBaseService.TestConnect(dataBase.DBHost, dataBase.DBName, dataBase.DBUser, dataBase.DBPwd, dataBase.DBPort); diff --git a/CnasSynchronusClient/TargetCnasData/ICnasDataOperation.cs b/CnasSynchronusClient/TargetCnasData/ICnasDataOperation.cs index acae361..ae77156 100644 --- a/CnasSynchronusClient/TargetCnasData/ICnasDataOperation.cs +++ b/CnasSynchronusClient/TargetCnasData/ICnasDataOperation.cs @@ -62,6 +62,16 @@ namespace CnasSynchronusClient /// /// DataTable GetTableData(DataBaseInfo dataBase, string strSql); + + + /// + /// 插入某个表的数据 + /// + /// + /// + /// + bool InsertTableData(DataBaseInfo dataBase, string strSql); + } diff --git a/CnasSynchronusClient/TargetCnasData/MySQLCNASDataOperation.cs b/CnasSynchronusClient/TargetCnasData/MySQLCNASDataOperation.cs index af2fd6c..f341989 100644 --- a/CnasSynchronusClient/TargetCnasData/MySQLCNASDataOperation.cs +++ b/CnasSynchronusClient/TargetCnasData/MySQLCNASDataOperation.cs @@ -95,5 +95,24 @@ namespace CnasSynchronusClient } return dt; } + + /// + /// 插入某个表的数据 + /// + /// + /// + /// + public bool InsertTableData(DataBaseInfo dataBase, string strSql) + { + try + { + return mysqlDataBaseService.InsertTableData(dataBase, strSql); + } + catch (Exception ex) + { + AppLog.Error(ex.Message); + } + return false; + } } } diff --git a/CnasSynchronusClient/TargetCnasData/MySQLCNASDataOperationByWeb.cs b/CnasSynchronusClient/TargetCnasData/MySQLCNASDataOperationByWeb.cs index b6562d6..156bc8c 100644 --- a/CnasSynchronusClient/TargetCnasData/MySQLCNASDataOperationByWeb.cs +++ b/CnasSynchronusClient/TargetCnasData/MySQLCNASDataOperationByWeb.cs @@ -326,5 +326,10 @@ namespace CnasSynchronusClient { throw new NotImplementedException(); } + + public bool InsertTableData(DataBaseInfo dataBase, string strSql) + { + throw new NotImplementedException(); + } } } diff --git a/CnasSynchronusClient/TargetCnasData/OracleCnasDataOperation.cs b/CnasSynchronusClient/TargetCnasData/OracleCnasDataOperation.cs index 10ace0f..84004fa 100644 --- a/CnasSynchronusClient/TargetCnasData/OracleCnasDataOperation.cs +++ b/CnasSynchronusClient/TargetCnasData/OracleCnasDataOperation.cs @@ -56,6 +56,11 @@ namespace CnasSynchronusClient return oracleDatabaseService.InsertDataToCNASTable(dt, dataBase, syncParamasInfos, strInstrumentColumn, lstFixedValue); } + public bool InsertTableData(DataBaseInfo dataBase, string strSql) + { + throw new System.NotImplementedException(); + } + public bool TestConnect(DataBaseInfo dataBase) { return oracleDatabaseService.TestConnect(dataBase.DBHost, dataBase.DBName, dataBase.DBUser, dataBase.DBPwd, dataBase.DBPort); diff --git a/CnasSynchronusDAL/DAL/MySQLDAL.cs b/CnasSynchronusDAL/DAL/MySQLDAL.cs index df82858..3266cb3 100644 --- a/CnasSynchronusDAL/DAL/MySQLDAL.cs +++ b/CnasSynchronusDAL/DAL/MySQLDAL.cs @@ -7,6 +7,7 @@ using MySql.Data.MySqlClient; using CnasSynchronousCommon; using CnasSynchrousModel; using System.Reflection; +using Devart.Common; namespace CnasSynchronusDAL { @@ -554,7 +555,11 @@ namespace CnasSynchronusDAL return dtNewFormat; } - //获取某个表的数据 + /// + /// 获取某个表的数据 + /// + /// + /// public DataTable GetTableData(string strSql) { DataTable dt = new DataTable(); @@ -569,5 +574,24 @@ namespace CnasSynchronusDAL return dt; } + /// + /// 插入某个表的数据 + /// + /// + /// + public bool InsertTableData(string strSql) + { + + try + { + return MySQLHelper.ExecuteNonQuery(strSql)>0; + } + catch (Exception ex) + { + AppLog.Error(ex.Message); + } + return false; + } + } } diff --git a/CnasSynchronusDAL/Service/Db2DBService.cs b/CnasSynchronusDAL/Service/Db2DBService.cs index 527548e..3f277b3 100644 --- a/CnasSynchronusDAL/Service/Db2DBService.cs +++ b/CnasSynchronusDAL/Service/Db2DBService.cs @@ -67,6 +67,11 @@ namespace CnasSynchronusDAL return baseDAL.InsertCnasData(dt, syncParamasInfos, strInstrumentColumn, lstFixedValue); } + public bool InsertTableData(DataBaseInfo dataBase, string strSql) + { + throw new NotImplementedException(); + } + public bool TestConnect(string strHost, string strName, string strUser, string strPwd, string strPort) { SQLDB2DAL basedal = new SQLDB2DAL(); diff --git a/CnasSynchronusDAL/Service/MySqlDBService.cs b/CnasSynchronusDAL/Service/MySqlDBService.cs index 5be3d55..1af188b 100644 --- a/CnasSynchronusDAL/Service/MySqlDBService.cs +++ b/CnasSynchronusDAL/Service/MySqlDBService.cs @@ -110,7 +110,12 @@ namespace CnasSynchronusDAL } - //获取某个表的数据 + /// + /// 获取某个表的数据 + /// + /// + /// + /// public DataTable GetTableData(DataBaseInfo dataBase, string strSql) { MySQLDAL mySQLBase = new MySQLDAL(); @@ -119,5 +124,19 @@ namespace CnasSynchronusDAL return mySQLBase.GetTableData(strSql); } + /// + /// 插入某个表的数据 + /// + /// + /// + /// + public bool InsertTableData(DataBaseInfo dataBase, string strSql) + { + MySQLDAL mySQLBase = new MySQLDAL(); + mySQLBase.CreateConnectString(dataBase.DBHost, dataBase.DBPort, dataBase.DBName, dataBase.DBUser, dataBase.DBPwd); + + return mySQLBase.InsertTableData(strSql); + } + } } diff --git a/CnasSynchronusDAL/Service/OracleDBService.cs b/CnasSynchronusDAL/Service/OracleDBService.cs index c05eac2..4e220ad 100644 --- a/CnasSynchronusDAL/Service/OracleDBService.cs +++ b/CnasSynchronusDAL/Service/OracleDBService.cs @@ -86,6 +86,11 @@ namespace CnasSynchronusDAL return OracleDAL.InsertCnasData(dt, syncParamasInfos, lstFixedValue, strInstrumentColumn); } + public bool InsertTableData(DataBaseInfo dataBase, string strSql) + { + throw new NotImplementedException(); + } + public bool TestConnect(string strHost, string strName, string strUser, string strPwd, string strPort) { OracleDAL.CreateConnection(strHost, strName, strUser, strPwd, strPort); diff --git a/CnasSynchronusIDAL/ITargetDataBaseService.cs b/CnasSynchronusIDAL/ITargetDataBaseService.cs index 0b03c45..16d5408 100644 --- a/CnasSynchronusIDAL/ITargetDataBaseService.cs +++ b/CnasSynchronusIDAL/ITargetDataBaseService.cs @@ -44,7 +44,7 @@ namespace CnasSynchronusIDAL /// /// /// - int InsertDataToCNASTable(DataTable dt, DataBaseInfo dataBase, List syncParamasInfos,string strInstrumentColumn,List lstFixedValue = null); + int InsertDataToCNASTable(DataTable dt, DataBaseInfo dataBase, List syncParamasInfos, string strInstrumentColumn, List lstFixedValue = null); /// /// 获取所有表的数据类型和长度 @@ -61,7 +61,7 @@ namespace CnasSynchronusIDAL /// /// /// - string GetMaxTimeByTableName(DataBaseInfo dataBase, string strTableName, string strDateColumn,string strInstrumentColumn,string strInstrumentValue); + string GetMaxTimeByTableName(DataBaseInfo dataBase, string strTableName, string strDateColumn, string strInstrumentColumn, string strInstrumentValue); /// /// 根据用户名密码获取登陆信息 @@ -87,5 +87,14 @@ namespace CnasSynchronusIDAL /// /// DataTable GetTableData(DataBaseInfo dataBase, string strSql); + + /// + /// 插入某个表的数据 + /// + /// + /// + /// + bool InsertTableData(DataBaseInfo dataBase, string strSql); + } } diff --git a/dll/CNAS_DBSync.exe b/dll/CNAS_DBSync.exe index e0af08e..a49102e 100644 Binary files a/dll/CNAS_DBSync.exe and b/dll/CNAS_DBSync.exe differ diff --git a/dll/CnasSynchronusClient.dll b/dll/CnasSynchronusClient.dll index 30aec90..3d43193 100644 Binary files a/dll/CnasSynchronusClient.dll and b/dll/CnasSynchronusClient.dll differ diff --git a/dll/CnasSynchronusDAL.dll b/dll/CnasSynchronusDAL.dll index a755133..2eb98bd 100644 Binary files a/dll/CnasSynchronusDAL.dll and b/dll/CnasSynchronusDAL.dll differ diff --git a/dll/CnasSynchronusIDAL.dll b/dll/CnasSynchronusIDAL.dll index 7f06cca..bc2ef78 100644 Binary files a/dll/CnasSynchronusIDAL.dll and b/dll/CnasSynchronusIDAL.dll differ