【发布时间】:2015-06-06 19:30:29
【问题描述】:
在这里输入代码我有两个数据表,一个数据表连接到sql server,另一个连接到oracle。
我在两者上都运行查询语句,并且可以完美地找到这些语句。
现在我需要编写一些东西,将 oracle 中的“UNIT_NO”与 sql 中的“VehicleName”进行比较。是的,它们是相同的数字。
现在 Oracle 表引入 6 列,SQL 引入 4 列
一个例子是:
VehicleName、VehicleGroupName、UserDefinedColumn2、UserDefinedColumn3
Unit_No、Unit_ID、Using_Dept、Status、Using_Dept_Desc,
我希望我的代码从 Unit_NO 和 VehicleName 中找到匹配的编号,并将上述所有信息全部显示在一行中。我在想 linq,但我无法正确显示它
This code combines the columns from both tables but pulls but does not add the any data in the rows any suggest or fixes
private void GetSQLOraclelinqData()
{
var TstarData = GetTrackstarTruckData();
var M5Data = GetM5Data();
DataTable ComTable = new DataTable();
foreach (DataColumn OraColumn in M5Data.Columns)
{
ComTable.Columns.Add(OraColumn.ColumnName, OraColumn.DataType);
}
foreach (DataColumn SQLColumn in TstarData.Columns)
{
if (SQLColumn.ColumnName == "VehicleName")
ComTable.Columns.Add(SQLColumn.ColumnName + 2, SQLColumn.DataType);
else
ComTable.Columns.Add(SQLColumn.ColumnName, SQLColumn.DataType);
}
var results = TstarData.AsEnumerable().Join(M5Data.AsEnumerable(),
a => a.Field<String>("VehicleName"),
b => b.Field<String>("Unit_NO"),
(a, b) =>
{
DataRow row = ComTable.NewRow();
row.ItemArray = a.ItemArray.Concat(b.ItemArray).ToArray();
ComTable.Rows.Add(row);
return row;
});
SQLDataTable.ItemsSource = ComTable.DefaultView;
}
【问题讨论】:
-
我正在使用 WPF 在 C# 中构建成本中心工具
-
服务器之间是否远程连接,可以同时查询?
-
是的,我正在同时拉动它们。
-
我做了两个公共数据表,一个是 getsqldata,另一个是 getoracledata,然后运行一个新的数据表,将信息放在一起 var SQLData = getsqlData(); var OraData = getOracleData();
标签: sql wpf excel oracle datatables