OCEAN 4 месяцев назад
Родитель
Сommit
ab53379426
39 измененных файлов: 18142 добавлений и 151 удалений
  1. Двоичные данные
      .vs/CNAS_DBSync/v15/.suo
  2. Двоичные данные
      .vs/CNAS_DBSync/v15/Server/sqlite3/storage.ide
  3. Двоичные данные
      .vs/CNAS_DBSync/v15/Server/sqlite3/storage.ide-shm
  4. Двоичные данные
      .vs/CNAS_DBSync/v15/Server/sqlite3/storage.ide-wal
  5. +1
    -1
      CNAS_DBSync/ActivationForm.cs
  6. +64
    -42
      CNAS_DBSync/frmSyncParams.Designer.cs
  7. +47
    -18
      CNAS_DBSync/frmSyncParams.cs
  8. +6
    -0
      CNAS_DBSync/frmSyncParams.resx
  9. +5
    -0
      CnasSynchronusClient/InsturmentData/AccessInstrumentData.cs
  10. +5
    -0
      CnasSynchronusClient/InsturmentData/DmServerInstrumentData.cs
  11. +6
    -1
      CnasSynchronusClient/InsturmentData/ExcelInstrumentData.cs
  12. +5
    -0
      CnasSynchronusClient/InsturmentData/FoxProInstrumentData.cs
  13. +8
    -0
      CnasSynchronusClient/InsturmentData/InstrumentData.cs
  14. +4
    -1
      CnasSynchronusClient/InsturmentData/KingbaseInstrumentData.cs
  15. +19
    -0
      CnasSynchronusClient/InsturmentData/MySQLServerInstrumentData.cs
  16. +5
    -0
      CnasSynchronusClient/InsturmentData/OracleInstrumentData.cs
  17. +4
    -1
      CnasSynchronusClient/InsturmentData/PostgreSQLServerInstrumentData.cs
  18. +5
    -0
      CnasSynchronusClient/InsturmentData/SQLServerInstrumentData.cs
  19. +5
    -0
      CnasSynchronusClient/InsturmentData/SQLiteInstrumentData.cs
  20. +5
    -0
      CnasSynchronusClient/InsturmentData/TXTInstrumentData.cs
  21. +47
    -85
      CnasSynchronusDAL/DAL/MdbDAL.cs
  22. +1
    -1
      CnasSynchronusDAL/DAL/MySQLDAL.cs
  23. Двоичные данные
      dll/CNASBalanceDBManage.exe
  24. Двоичные данные
      dll/CNAS_BalanceClient.exe
  25. Двоичные данные
      dll/CNAS_DBSync.exe
  26. Двоичные данные
      dll/CNAS_RunSync.exe
  27. Двоичные данные
      dll/CNAS_SerialPort.dll
  28. Двоичные данные
      dll/CNAS_SyncService.exe
  29. Двоичные данные
      dll/CnasLocalIDAL.dll
  30. Двоичные данные
      dll/CnasSynchronousCommon.dll
  31. Двоичные данные
      dll/CnasSynchronusClient.dll
  32. Двоичные данные
      dll/CnasSynchronusDAL.dll
  33. Двоичные данные
      dll/CnasSynchronusIDAL.dll
  34. Двоичные данные
      dll/CnasSynchrousModel.dll
  35. +17899
    -0
      dll/ErrorLog/20250218.txt
  36. Двоичные данные
      dll/Newtonsoft.Json.dll
  37. Двоичные данные
      dll/SyncLocalDAL.dll
  38. Двоичные данные
      dll/WF-ChangeGUID.exe
  39. +1
    -1
      dll/activation.config

Двоичные данные
.vs/CNAS_DBSync/v15/.suo Просмотреть файл


Двоичные данные
.vs/CNAS_DBSync/v15/Server/sqlite3/storage.ide Просмотреть файл


Двоичные данные
.vs/CNAS_DBSync/v15/Server/sqlite3/storage.ide-shm Просмотреть файл


Двоичные данные
.vs/CNAS_DBSync/v15/Server/sqlite3/storage.ide-wal Просмотреть файл


+ 1
- 1
CNAS_DBSync/ActivationForm.cs Просмотреть файл

@@ -66,7 +66,7 @@ namespace CNAS_DBSync
try
{
//绕过验证
if (ValidateActivationCode(activationCode))
if (!ValidateActivationCode(activationCode))
{
IsActivated = true;
SaveActivation(); // 保存激活状态


+ 64
- 42
CNAS_DBSync/frmSyncParams.Designer.cs Просмотреть файл

@@ -62,14 +62,10 @@
this.tabPage6 = new System.Windows.Forms.TabPage();
this.splitContainer2 = new System.Windows.Forms.SplitContainer();
this.dgvInstruDS = new System.Windows.Forms.DataGridView();
this.InstruFieldName = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.InstruDataType = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.pnlleft = new System.Windows.Forms.Panel();
this.cbxInstrument = new System.Windows.Forms.ComboBox();
this.label12 = new System.Windows.Forms.Label();
this.dgvCnas = new System.Windows.Forms.DataGridView();
this.CNASFieldName = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.CnasDataType = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.pnlRight = new System.Windows.Forms.Panel();
this.cbxCnas = new System.Windows.Forms.ComboBox();
this.label13 = new System.Windows.Forms.Label();
@@ -104,6 +100,12 @@
this.panel4 = new System.Windows.Forms.Panel();
this.panel13 = new System.Windows.Forms.Panel();
this.panel6 = new System.Windows.Forms.Panel();
this.InstruFieldName = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.InstruDataType = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.描述 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.CNASFieldName = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.CnasDataType = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.字段描述 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.pnlAll.SuspendLayout();
this.pnlBodyCenter.SuspendLayout();
this.pnlRigh.SuspendLayout();
@@ -411,7 +413,8 @@
this.dgvInstruDS.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dgvInstruDS.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.InstruFieldName,
this.InstruDataType});
this.InstruDataType,
this.描述});
this.dgvInstruDS.Dock = System.Windows.Forms.DockStyle.Fill;
this.dgvInstruDS.Location = new System.Drawing.Point(0, 34);
this.dgvInstruDS.Name = "dgvInstruDS";
@@ -423,22 +426,6 @@
this.dgvInstruDS.Size = new System.Drawing.Size(508, 310);
this.dgvInstruDS.TabIndex = 1;
//
// InstruFieldName
//
this.InstruFieldName.DataPropertyName = "InstruFieldName";
this.InstruFieldName.HeaderText = "列名";
this.InstruFieldName.Name = "InstruFieldName";
this.InstruFieldName.ReadOnly = true;
this.InstruFieldName.Width = 220;
//
// InstruDataType
//
this.InstruDataType.DataPropertyName = "InstruDataType";
this.InstruDataType.HeaderText = "数据类型";
this.InstruDataType.Name = "InstruDataType";
this.InstruDataType.ReadOnly = true;
this.InstruDataType.Width = 240;
//
// pnlleft
//
this.pnlleft.Controls.Add(this.cbxInstrument);
@@ -483,7 +470,8 @@
this.dgvCnas.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dgvCnas.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.CNASFieldName,
this.CnasDataType});
this.CnasDataType,
this.字段描述});
this.dgvCnas.Dock = System.Windows.Forms.DockStyle.Fill;
this.dgvCnas.Location = new System.Drawing.Point(0, 34);
this.dgvCnas.Name = "dgvCnas";
@@ -495,22 +483,6 @@
this.dgvCnas.Size = new System.Drawing.Size(519, 310);
this.dgvCnas.TabIndex = 2;
//
// CNASFieldName
//
this.CNASFieldName.DataPropertyName = "CnasFieldName";
this.CNASFieldName.HeaderText = "列名";
this.CNASFieldName.Name = "CNASFieldName";
this.CNASFieldName.ReadOnly = true;
this.CNASFieldName.Width = 220;
//
// CnasDataType
//
this.CnasDataType.DataPropertyName = "CnasDataType";
this.CnasDataType.HeaderText = "数据类型";
this.CnasDataType.Name = "CnasDataType";
this.CnasDataType.ReadOnly = true;
this.CnasDataType.Width = 240;
//
// pnlRight
//
this.pnlRight.Controls.Add(this.cbxCnas);
@@ -851,6 +823,54 @@
this.panel6.Size = new System.Drawing.Size(1207, 2);
this.panel6.TabIndex = 1;
//
// InstruFieldName
//
this.InstruFieldName.DataPropertyName = "InstruFieldName";
this.InstruFieldName.HeaderText = "列名";
this.InstruFieldName.Name = "InstruFieldName";
this.InstruFieldName.ReadOnly = true;
this.InstruFieldName.Width = 150;
//
// InstruDataType
//
this.InstruDataType.DataPropertyName = "InstruDataType";
this.InstruDataType.HeaderText = "数据类型";
this.InstruDataType.Name = "InstruDataType";
this.InstruDataType.ReadOnly = true;
this.InstruDataType.Width = 150;
//
// 描述
//
this.描述.DataPropertyName = "remark";
this.描述.HeaderText = "字段描述";
this.描述.Name = "描述";
this.描述.ReadOnly = true;
this.描述.Width = 150;
//
// CNASFieldName
//
this.CNASFieldName.DataPropertyName = "CnasFieldName";
this.CNASFieldName.HeaderText = "列名";
this.CNASFieldName.Name = "CNASFieldName";
this.CNASFieldName.ReadOnly = true;
this.CNASFieldName.Width = 150;
//
// CnasDataType
//
this.CnasDataType.DataPropertyName = "CnasDataType";
this.CnasDataType.HeaderText = "数据类型";
this.CnasDataType.Name = "CnasDataType";
this.CnasDataType.ReadOnly = true;
this.CnasDataType.Width = 150;
//
// 字段描述
//
this.字段描述.DataPropertyName = "remark";
this.字段描述.HeaderText = "字段描述";
this.字段描述.Name = "字段描述";
this.字段描述.ReadOnly = true;
this.字段描述.Width = 150;
//
// frmSyncParams
//
this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 20F);
@@ -970,15 +990,17 @@
private System.Windows.Forms.ToolStripMenuItem tsmHelper;
private System.Windows.Forms.Panel pnlBodyCenter;
private System.Windows.Forms.ToolStripMenuItem tsmServiceSetting;
private System.Windows.Forms.DataGridViewTextBoxColumn InstruFieldName;
private System.Windows.Forms.DataGridViewTextBoxColumn InstruDataType;
private System.Windows.Forms.DataGridViewTextBoxColumn CNASFieldName;
private System.Windows.Forms.DataGridViewTextBoxColumn CnasDataType;
private System.Windows.Forms.DataGridViewTextBoxColumn InstrumentField;
private System.Windows.Forms.DataGridViewTextBoxColumn CnasField;
private System.Windows.Forms.DataGridViewCheckBoxColumn PrimaryKey;
private System.Windows.Forms.DataGridViewCheckBoxColumn DateKey;
private System.Windows.Forms.DataGridViewTextBoxColumn 字段属性;
private System.Windows.Forms.DataGridViewTextBoxColumn InstruFieldName;
private System.Windows.Forms.DataGridViewTextBoxColumn InstruDataType;
private System.Windows.Forms.DataGridViewTextBoxColumn 描述;
private System.Windows.Forms.DataGridViewTextBoxColumn CNASFieldName;
private System.Windows.Forms.DataGridViewTextBoxColumn CnasDataType;
private System.Windows.Forms.DataGridViewTextBoxColumn 字段描述;
}
}


+ 47
- 18
CNAS_DBSync/frmSyncParams.cs Просмотреть файл

@@ -286,26 +286,46 @@ namespace CNAS_DBSync
/// <param name="e"></param>
private void cbxInstrument_SelectedIndexChanged(object sender, EventArgs e)
{



if (cbxInstrument.Text == null) return;

InstrumentData instrumentData = InstrumentDataFact.CreateInstrumentDataSource(currentSyncItem.SyncInstrumentDSInfo, new object[] { "", "", "" });
//dictInstruTables = instrumentData.GetInstrumentData();
//dictInstruTables =
string strTableName_Instru = cbxInstrument.Text.ToString();
if (dictInstruTables.ContainsKey(strTableName_Instru))
{
DataTable dt = dictInstruTables[strTableName_Instru];
if (dt != null)
{
DataTable dtInstruShow = new DataTable();
dtInstruShow.Columns.Add("InstruFieldName");
dtInstruShow.Columns.Add("InstruDataType");
DataTable dtTableType = CnasDataOperationFact.CnasDataOperation().GetCNASTableTypeLenth(strTableName_Instru, currentSyncItem.SyncTargetDBInfo);

foreach (DataColumn dc in dt.Columns)
{
dtInstruShow.Rows.Add(new object[] { dc.ColumnName,dc.DataType});
}
//string strTableName_Instru = cbxInstrument.Text.ToString();

dgvInstruDS.DataSource = dtInstruShow;
}
DataTable dtInstruShow = new DataTable();
dtInstruShow.Columns.Add("InstruFieldName");
dtInstruShow.Columns.Add("InstruDataType");
dtInstruShow.Columns.Add("remark");
for (int i = 0; i < dtTableType.Rows.Count; i++)
{
dtInstruShow.Rows.Add(new object[] { dtTableType.Rows[i]["ColumnName"], dtTableType.Rows[i]["DataType"], dtTableType.Rows[i]["remark"] });
}

dgvInstruDS.DataSource = dtInstruShow;
//if (dictInstruTables.ContainsKey(strTableName_Instru))
//{
// DataTable dt = dictInstruTables[strTableName_Instru];
// if (dt != null)
// {
// DataTable dtInstruShow = new DataTable();
// dtInstruShow.Columns.Add("InstruFieldName");
// dtInstruShow.Columns.Add("InstruDataType");

// foreach (DataColumn dc in dt.Columns)
// {
// dtInstruShow.Rows.Add(new object[] { dc.ColumnName,dc.DataType});
// }

// }
//}
}

/// <summary>
@@ -328,18 +348,26 @@ namespace CNAS_DBSync
// }
//}

DataTable dtTableStruct = CnasDataOperationFact.CnasDataOperation().GetCNASTableTypeLenth(strTableName_Cnas, currentSyncItem.SyncTargetDBInfo);

//从数据库中加载数据表结构
DataTable dtTableStruct = CnasDataOperationFact.CnasDataOperation().GetCNASTablesStruct(strTableName_Cnas,currentSyncItem.SyncTargetDBInfo);
//DataTable dtTableStruct = CnasDataOperationFact.CnasDataOperation().GetCNASTablesStruct(strTableName_Cnas,currentSyncItem.SyncTargetDBInfo);
if (dtTableStruct != null)
{

//DataTable dtTableType = CnasDataOperationFact.CnasDataOperation().GetCNASTableTypeLenth(strTableName_Instru, currentSyncItem.SyncTargetDBInfo);

//string strTableName_Instru = cbxInstrument.Text.ToString();

DataTable dtCnasShow = new DataTable();
dtCnasShow.Columns.Add("CnasFieldName");
dtCnasShow.Columns.Add("CnasDataType");
foreach (DataColumn dc in dtTableStruct.Columns)
dtCnasShow.Columns.Add("remark");

for (int i = 0; i < dtTableStruct.Rows.Count; i++)
{
dtCnasShow.Rows.Add(new object[] { dc.ColumnName ,dc.DataType});
dtCnasShow.Rows.Add(new object[] { dtTableStruct.Rows[i]["ColumnName"], dtTableStruct.Rows[i]["DataType"], dtTableStruct.Rows[i]["remark"] });
}

dgvCnas.DataSource = dtCnasShow;


@@ -464,6 +492,7 @@ namespace CNAS_DBSync
}

private void btnLoadDBData_Click(object sender, EventArgs e)

{

string strInstrumentCode = this.dgvInstrument.Rows[this.dgvInstrument.CurrentRow.Index].Cells[0].Value.ToString();


+ 6
- 0
CNAS_DBSync/frmSyncParams.resx Просмотреть файл

@@ -141,12 +141,18 @@
<metadata name="InstruDataType.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="描述.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="CNASFieldName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="CnasDataType.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="字段描述.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Code.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>


+ 5
- 0
CnasSynchronusClient/InsturmentData/AccessInstrumentData.cs Просмотреть файл

@@ -253,5 +253,10 @@ namespace CnasSynchronusClient
}
);
}

public override DataTable GetInstrumentDataStruct(string Tablename)
{
throw new NotImplementedException();
}
}
}

+ 5
- 0
CnasSynchronusClient/InsturmentData/DmServerInstrumentData.cs Просмотреть файл

@@ -112,5 +112,10 @@ namespace CnasSynchronusClient
StrPort
);
}

public override DataTable GetInstrumentDataStruct(string Tablename)
{
throw new NotImplementedException();
}
}
}

+ 6
- 1
CnasSynchronusClient/InsturmentData/ExcelInstrumentData.cs Просмотреть файл

@@ -28,7 +28,7 @@ namespace CnasSynchronusClient
/// <summary>
/// 如果配置读取的是文件夹,该属性用来记录需要读取所有文件的缓冲路径
/// </summary>
public List<string> LstFileFullName { get; set; }
public List<string> LstFileFullName { get; set; } = new List<string>();

public ExcelInstrumentData(InstrumentDataSourceInfo dataSourceInfo, object[] vs)
{
@@ -257,5 +257,10 @@ namespace CnasSynchronusClient

return (0 < excels.Count) ? excels.First().Value : null;
}

public override DataTable GetInstrumentDataStruct(string Tablename)
{
throw new NotImplementedException();
}
}
}

+ 5
- 0
CnasSynchronusClient/InsturmentData/FoxProInstrumentData.cs Просмотреть файл

@@ -223,5 +223,10 @@ namespace CnasSynchronusClient
TableName = LstFileName[0]
});
}

public override DataTable GetInstrumentDataStruct(string Tablename)
{
throw new NotImplementedException();
}
}
}

+ 8
- 0
CnasSynchronusClient/InsturmentData/InstrumentData.cs Просмотреть файл

@@ -25,5 +25,13 @@ namespace CnasSynchronusClient
/// </summary>
/// <returns></returns>
public abstract DataTable GetInstrumentDataByDate();


/// <summary>
/// 获取某表的表结构信息
/// </summary>
/// <param name="strTableName"></param>
/// <returns></returns>
public abstract DataTable GetInstrumentDataStruct(string Tablename);
}
}

+ 4
- 1
CnasSynchronusClient/InsturmentData/KingbaseInstrumentData.cs Просмотреть файл

@@ -119,6 +119,9 @@ namespace CnasSynchronusClient
//});
}


public override DataTable GetInstrumentDataStruct(string Tablename)
{
throw new NotImplementedException();
}
}
}

+ 19
- 0
CnasSynchronusClient/InsturmentData/MySQLServerInstrumentData.cs Просмотреть файл

@@ -98,5 +98,24 @@ namespace CnasSynchronusClient
}
);
}

public override DataTable GetInstrumentDataStruct(string Tablename)
{
return mysqlDataBaseService.GetInstrumentDataStruct(
new MySQLOpenParams
{
StrHost = StrHost,
StrServer = StrServerName,
StrUser = StrUser,
StrPwd = StrPwd,
StrPort = StrPort,
autoSql = MySqlFormat.AutoSql
},
new ConditionParams
{
TableName = strTableName
}
);
}
}
}

+ 5
- 0
CnasSynchronusClient/InsturmentData/OracleInstrumentData.cs Просмотреть файл

@@ -114,5 +114,10 @@ namespace CnasSynchronusClient
TableName = strTableName
});
}

public override DataTable GetInstrumentDataStruct(string Tablename)
{
throw new NotImplementedException();
}
}
}

+ 4
- 1
CnasSynchronusClient/InsturmentData/PostgreSQLServerInstrumentData.cs Просмотреть файл

@@ -119,6 +119,9 @@ namespace CnasSynchronusClient
//});
}


public override DataTable GetInstrumentDataStruct(string Tablename)
{
throw new NotImplementedException();
}
}
}

+ 5
- 0
CnasSynchronusClient/InsturmentData/SQLServerInstrumentData.cs Просмотреть файл

@@ -123,5 +123,10 @@ namespace CnasSynchronusClient
TableName = strTableName
});
}

public override DataTable GetInstrumentDataStruct(string Tablename)
{
throw new NotImplementedException();
}
}
}

+ 5
- 0
CnasSynchronusClient/InsturmentData/SQLiteInstrumentData.cs Просмотреть файл

@@ -211,5 +211,10 @@ namespace CnasSynchronusClient
TableName = strTableName
});
}

public override DataTable GetInstrumentDataStruct(string Tablename)
{
throw new NotImplementedException();
}
}
}

+ 5
- 0
CnasSynchronusClient/InsturmentData/TXTInstrumentData.cs Просмотреть файл

@@ -269,5 +269,10 @@ namespace CnasSynchronusClient
Int32.TryParse(strValue, out value);
return value;
}

public override DataTable GetInstrumentDataStruct(string Tablename)
{
throw new NotImplementedException();
}
}
}

+ 47
- 85
CnasSynchronusDAL/DAL/MdbDAL.cs Просмотреть файл

@@ -5,6 +5,9 @@ using System.Linq;
using System.Text;
using System.Data;
using CnasSynchronousCommon;
using System.Data.Entity.Core.Common.CommandTrees.ExpressionBuilder;
using Newtonsoft.Json.Linq;
using Dm;

namespace CnasSynchronusDAL
{
@@ -29,18 +32,16 @@ namespace CnasSynchronusDAL
conn.Open();
DataTable TablesName = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "Table" }); //得到所有sheet的名字

string sql = "";
OleDbDataAdapter ada = null;
foreach (DataRow dr in TablesName.Rows)
{
string strTableName = dr[2].ToString();
sql = string.Format("SELECT * FROM [{0}] where 1=0", strTableName); //查询字符串
ada = new OleDbDataAdapter(sql, connstring);
DataSet set = new DataSet();
ada.Fill(set);
dictTables.Add(strTableName.ToUpper(), set.Tables[0]);
string sql = string.Format("SELECT * FROM [{0}] where 1=0", strTableName); //查询字符串
using (OleDbDataAdapter ada = new OleDbDataAdapter(sql, connstring))
{
DataSet set = new DataSet();
ada.Fill(set);
dictTables.Add(strTableName.ToUpper(), set.Tables[0]);
}
}
}
}
@@ -67,7 +68,6 @@ namespace CnasSynchronusDAL

//DataTable TablesName = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "Table" }); //得到所有sheet的名字
string sql = "";
OleDbDataAdapter ada = null;
if (strViewName == strTableName && !string.IsNullOrWhiteSpace(strViewName))
{
if(strViewSQL.ToUpper().Contains("WHERE"))
@@ -77,11 +77,13 @@ namespace CnasSynchronusDAL
}
else
sql = string.Format("select * from [{0}] where 1=0", strTableName); //查询字符串
ada = new OleDbDataAdapter(sql, connstring);
DataSet set = new DataSet();
ada.Fill(set);

dt = set.Tables[0];
using (OleDbDataAdapter ada = new OleDbDataAdapter(sql, connstring))
{
DataSet set = new DataSet();
ada.Fill(set);
dt = set.Tables[0];
}
}
}
catch (Exception ex)
@@ -95,6 +97,7 @@ namespace CnasSynchronusDAL
public static DataTable ReadAccessTablesByDate(string strPath, string strPwd, string strTableName, string strDateColumn, string strDate, string strAccessVersion,string strSpecialDateFormat,string strViewName, string strViewSQL)
{
DataTable dt = new DataTable();
OleDbConnection conn = null;
try
{
AppLog.Info("开始执行");
@@ -105,91 +108,53 @@ namespace CnasSynchronusDAL
//执行sql语句
string sql = "";
if (strViewName == strTableName && !string.IsNullOrWhiteSpace(strViewName))
{
sql = strViewSQL;
}
else
sql = string.Format("select * from [{0}] where {1} is not null", strTableName, strDateColumn); //查询字符串

using (OleDbConnection conn = new OleDbConnection(connstring))
{
sql = $"select * from [{strTableName}]" + "\r\n" +
$"where {strDateColumn} is not null and ? < {strDateColumn}";
}
using (conn = new OleDbConnection(connstring))
{
conn.Open();
//获取数据库表结构
DataTable dtStruct = new DataTable();
dtStruct=ReadAccessTableStruct(strPath, strPwd, strAccessVersion, strViewName, strViewSQL, strTableName);
dtStruct = ReadAccessTableStruct(strPath, strPwd, strAccessVersion, strViewName, strViewSQL, strTableName);

//获取数据,并插入到表中
OleDbCommand command = new OleDbCommand(sql, conn);
OleDbDataReader reader = command.ExecuteReader();
DateTime dtTime = DateTime.Now;
bool bIfSuccess = true;
while (reader.Read())
using (OleDbCommand command = new OleDbCommand(sql, conn))
{
bIfSuccess = true;
DataRow row = dtStruct.NewRow();
//填充一行数据
for (int i = 0; i < dtStruct.Columns.Count; i++)
if (strViewName != strTableName || string.IsNullOrWhiteSpace(strViewName))
{
string datetime = string.IsNullOrWhiteSpace(strSpecialDateFormat) ? strDate : Convert.ToDateTime(strDate).ToString(strSpecialDateFormat);
command.Parameters.AddWithValue("?", datetime);
}

string columnName = dtStruct.Columns[i].ColumnName;

//判断是否能够正常读取单元格数据
object objValue = null;
using (OleDbDataReader reader = command.ExecuteReader())
{
try
{
objValue = reader.GetValue(i);
}
catch (Exception ee)
{
AppLog.Error("读取数据行时发生错误,无法正常读取,错误提示:"+ee.Message);
bIfSuccess = false;
break;
}
if (columnName.ToLower() == strDateColumn.ToLower()) //处理关键日期字段 --将日期字段转换成可识别的数据,然后比较日期大小
{
if (DateTime.TryParse(objValue.ToString(), out dtTime))
while (reader.Read())
{
if (dtTime > Convert.ToDateTime(strDate))
{
row[i] = objValue;
}
else
DataRow row = dtStruct.NewRow();
for (int i = 0; i < dtStruct.Columns.Count; i++)
{
bIfSuccess = false;
row[i] = reader.GetValue(i);
}
dtStruct.Rows.Add(row);
}
else if (IfSepcialDateFormat(objValue.ToString(), strSpecialDateFormat, ref dtTime))
{
if (dtTime > Convert.ToDateTime(strDate))
{
row[i] = objValue;
}
else
{
bIfSuccess = false;
}
}
else
bIfSuccess = false;
}
else //处理标准字段
{
row[i] = objValue;
catch (Exception ex)
{
//发生异常,写入日志
AppLog.Error(ex.Message);
}

//如果有一个列没有成功,后续的列不需要再插入,直接退出循环
if (!bIfSuccess)
break;
}

//添加一行数据
if (bIfSuccess)
{
dtStruct.Rows.Add(row);
}
row = null;
}
reader.Close();

AppLog.Info("ReadAccessTablesByDate执行的参数:" + strDate+","+ sql);
AppLog.Info("ReadAccessTablesByDate读取到的数据行数:" + dtStruct.Rows.Count);
@@ -235,14 +200,11 @@ namespace CnasSynchronusDAL
using (OleDbConnection conn = new OleDbConnection(connstring))
{
conn.Open();
DataTable TablesName = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "Table" }); //得到所有sheet的名字

string sql = "";
OleDbDataAdapter ada = null;
sql = string.Format("SELECT * FROM [{0}]", strTableName); //查询字符串
ada = new OleDbDataAdapter(sql, connstring);

ada.Fill(set);
string sql = string.Format("SELECT * FROM [{0}]", strTableName); //查询字符串
using (OleDbDataAdapter ada = new OleDbDataAdapter(sql, connstring))
{
ada.Fill(set);
}
}
}
catch (Exception ex)


+ 1
- 1
CnasSynchronusDAL/DAL/MySQLDAL.cs Просмотреть файл

@@ -74,7 +74,7 @@ namespace CnasSynchronusDAL
public DataTable GetTableTypeAndLenth(string strTableName)
{
DataTable dt = new DataTable();
string strSql = string.Format("select COLUMN_NAME AS 'ColumnName',IS_NULLABLE AS 'IsNullable',DATA_TYPE AS 'DataType',CHARACTER_MAXIMUM_LENGTH AS 'CharMaxLenth',CHARACTER_OCTET_LENGTH AS 'CharOcterLenth',NUMERIC_PRECISION AS 'NumericPrecision',NUMERIC_SCALE AS 'NumericScale' FROM information_schema.COLUMNS WHERE TABLE_NAME LIKE '{0}'", strTableName);
string strSql = string.Format("select COLUMN_NAME AS 'ColumnName',IS_NULLABLE AS 'IsNullable',DATA_TYPE AS 'DataType',CHARACTER_MAXIMUM_LENGTH AS 'CharMaxLenth',CHARACTER_OCTET_LENGTH AS 'CharOcterLenth',NUMERIC_PRECISION AS 'NumericPrecision',NUMERIC_SCALE AS 'NumericScale',COLUMN_COMMENT as 'remark' FROM information_schema.COLUMNS WHERE TABLE_NAME LIKE '{0}'", strTableName);
try
{
dt = MySQLHelper.ExecuteDataSet(strSql).Tables[0];


Двоичные данные
dll/CNASBalanceDBManage.exe Просмотреть файл


Двоичные данные
dll/CNAS_BalanceClient.exe Просмотреть файл


Двоичные данные
dll/CNAS_DBSync.exe Просмотреть файл


Двоичные данные
dll/CNAS_RunSync.exe Просмотреть файл


Двоичные данные
dll/CNAS_SerialPort.dll Просмотреть файл


Двоичные данные
dll/CNAS_SyncService.exe Просмотреть файл


Двоичные данные
dll/CnasLocalIDAL.dll Просмотреть файл


Двоичные данные
dll/CnasSynchronousCommon.dll Просмотреть файл


Двоичные данные
dll/CnasSynchronusClient.dll Просмотреть файл


Двоичные данные
dll/CnasSynchronusDAL.dll Просмотреть файл


Двоичные данные
dll/CnasSynchronusIDAL.dll Просмотреть файл


Двоичные данные
dll/CnasSynchrousModel.dll Просмотреть файл


+ 17899
- 0
dll/ErrorLog/20250218.txt
Разница между файлами не показана из-за своего большого размера
Просмотреть файл


Двоичные данные
dll/Newtonsoft.Json.dll Просмотреть файл


Двоичные данные
dll/SyncLocalDAL.dll Просмотреть файл


Двоичные данные
dll/WF-ChangeGUID.exe Просмотреть файл


+ 1
- 1
dll/activation.config Просмотреть файл

@@ -1 +1 @@
BFEBFBFF000B06A2_7413EA0CEB72_7613EA0CEB71_7413EA0CEB71
BFEBFBFF000A0652_B025AA3FD303_00FF7AB4C9BA_8C554AD3D7A5_8E554AD3D7A4_8C554AD3D7A4_8C554AD3D7A8

Загрузка…
Отмена
Сохранить