From dd913941f9d293b859b629295c491c67cc4c9615 Mon Sep 17 00:00:00 2001 From: "DESKTOP-58BB7H3\\ZJH" Date: Wed, 26 Feb 2025 17:26:41 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E8=87=AA=E5=8A=A8=E5=8A=A0?= =?UTF-8?q?=E8=BD=BD=E6=96=87=E4=BB=B6=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CNAS_DBSync/frmSyncParams.cs | 117 +++++++++++++++++++++-------------- 1 file changed, 69 insertions(+), 48 deletions(-) diff --git a/CNAS_DBSync/frmSyncParams.cs b/CNAS_DBSync/frmSyncParams.cs index fa28eb3..519817e 100644 --- a/CNAS_DBSync/frmSyncParams.cs +++ b/CNAS_DBSync/frmSyncParams.cs @@ -267,10 +267,26 @@ namespace CNAS_DBSync if (currentSyncItem.SyncInstrumentDSInfo != null && currentSyncItem.SyncInstrumentDSInfo.InstrumentDataSourceType != DataSourceType.None) { - if (currentSyncItem.LstSyncPramas != null) - dgvMapping.DataSource = new BindingList(currentSyncItem.LstSyncPramas); - if (currentSyncItem.SyncInstrumentDSInfo.ServerName != "") - btnLoadDBData_Click(sender, e); + switch (currentSyncItem.SyncInstrumentDSInfo.InstrumentDataSourceType) + { + case DataSourceType.MySQL: + case DataSourceType.Dm: + case DataSourceType.Oracle: + case DataSourceType.PostgreSQL: + case DataSourceType.SQL: + case DataSourceType.Kingbase: + if (currentSyncItem.LstSyncPramas != null) + dgvMapping.DataSource = new BindingList(currentSyncItem.LstSyncPramas); + if (currentSyncItem.SyncInstrumentDSInfo.ServerName != "") + btnLoadDBData_Click(sender, e); + break; + default: + btnLoadDBData_Click(sender, e); + break; + } + + + } else @@ -296,68 +312,73 @@ namespace CNAS_DBSync // 使用LINQ查找匹配的数据 SyncInstrumentItemInfo matchedInstrument = lstSyncInstrument.FirstOrDefault(x => x.Code == strInstrumentCode); - InstrumentData instrumentData = InstrumentDataFact.CreateInstrumentDataSource(currentSyncItem.SyncInstrumentDSInfo, new object[] { "", "", "" }); + // InstrumentData instrumentData = InstrumentDataFact.CreateInstrumentDataSource(currentSyncItem.SyncInstrumentDSInfo, new object[] { "", "", "" }); DataTable dtTableType = null; string strTableName_Instru = cbxInstrument.Text.ToString(); - - switch (matchedInstrument.SyncInstrumentDSInfo.InstrumentDataSourceType) - { - case DataSourceType.MySQL: - dtTableType = SelectTableType.MySqlsec(strTableName_Instru); - break; - case DataSourceType.Dm: - dtTableType = SelectTableType.DmSql(strTableName_Instru); - break; - case DataSourceType.Oracle: - dtTableType = SelectTableType.OrcSql(strTableName_Instru, currentSyncItem); - break; - case DataSourceType.PostgreSQL: - dtTableType = SelectTableType.PostgreSql(strTableName_Instru); - break; - case DataSourceType.SQL: - dtTableType = SelectTableType.Sqlserversec(strTableName_Instru, currentSyncItem); - break; - case DataSourceType.Kingbase: - dtTableType = SelectTableType.KingSql(strTableName_Instru); - break; - default: - strTableName_Instru= matchedInstrument.SyncInstrumentDSInfo.InstrumentDataSourceType.ToString(); - if (dictInstruTables.ContainsKey(strTableName_Instru)) - { - dtTableType = dictInstruTables[strTableName_Instru]; - } - break; - } - DataTable dtInstruShow = new DataTable(); - dtInstruShow.Columns.Add("InstruFieldName"); - dtInstruShow.Columns.Add("InstruDataType"); - dtInstruShow.Columns.Add("remark"); - if (dtTableType != null) + + if (matchedInstrument.SyncInstrumentDSInfo != null) { - switch (currentSyncItem.SyncInstrumentDSInfo.InstrumentDataSourceType) + switch (matchedInstrument.SyncInstrumentDSInfo.InstrumentDataSourceType) { case DataSourceType.MySQL: + dtTableType = SelectTableType.MySqlsec(strTableName_Instru); + break; case DataSourceType.Dm: + dtTableType = SelectTableType.DmSql(strTableName_Instru); + break; case DataSourceType.Oracle: + dtTableType = SelectTableType.OrcSql(strTableName_Instru, currentSyncItem); + break; case DataSourceType.PostgreSQL: + dtTableType = SelectTableType.PostgreSql(strTableName_Instru); + break; case DataSourceType.SQL: + dtTableType = SelectTableType.Sqlserversec(strTableName_Instru, currentSyncItem); + break; case DataSourceType.Kingbase: - 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"] }); - } + dtTableType = SelectTableType.KingSql(strTableName_Instru); break; default: - foreach (DataColumn dc in dtTableType.Columns) + strTableName_Instru = matchedInstrument.SyncInstrumentDSInfo.InstrumentDataSourceType.ToString(); + InstrumentData instrumentData = InstrumentDataFact.CreateInstrumentDataSource(matchedInstrument.SyncInstrumentDSInfo, new object[] { "", "", "" }); + dictInstruTables = instrumentData.GetInstrumentData(); + if (dictInstruTables.ContainsKey(strTableName_Instru)) { - dtInstruShow.Rows.Add(new object[] { dc.ColumnName, dc.DataType, "" }); + dtTableType = dictInstruTables[strTableName_Instru]; } break; } - } + DataTable dtInstruShow = new DataTable(); + dtInstruShow.Columns.Add("InstruFieldName"); + dtInstruShow.Columns.Add("InstruDataType"); + dtInstruShow.Columns.Add("remark"); + if (dtTableType != null) + { + switch (matchedInstrument.SyncInstrumentDSInfo.InstrumentDataSourceType) + { + case DataSourceType.MySQL: + case DataSourceType.Dm: + case DataSourceType.Oracle: + case DataSourceType.PostgreSQL: + case DataSourceType.SQL: + case DataSourceType.Kingbase: + 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"] }); + } + break; + default: + foreach (DataColumn dc in dtTableType.Columns) + { + dtInstruShow.Rows.Add(new object[] { dc.ColumnName, dc.DataType, "" }); + } + break; + } + } - dgvInstruDS.DataSource = dtInstruShow; + dgvInstruDS.DataSource = dtInstruShow; + } } ///