Ich versuche, zwei .NET
DataTables
DataTable.Merge nicht verschmelzenden
DataTable dtCalls = new DataTable();
dtCalls.Columns.Add("EmpID",typeof(string));
dtCalls.Columns.Add("Date",typeof(DateTime));
dtCalls.Columns.Add("Calls",typeof(int));
DataTable dtPages = new DataTable();
dtPages.Columns.Add("EmpID",typeof(string));
dtPages.Columns.Add("Date",typeof(DateTime));
dtPages.Columns.Add("Orders",typeof(int));
SqlCommand commRetrieveCalls = new SqlCommand(strRetrieveCalls,conn);
SqlDataAdapter adpRetrieveCalls = new SqlDataAdapter(commRetrieveCalls);
DataSet dsRetrieveCalls = new DataSet();
adpRetrieveCalls.Fill(dsRetrieveCalls);
DataTable dtRetrieveCalls = dsRetrieveCalls.Tables[0];
foreach(DataRow dr in dtRetrieveCalls.Rows) {
dtCalls.Rows.Add(dr[0].ToString(),DateTime.Parse(dr[1].ToString()),Convert.ToInt32(dr[2].ToString()));
}
SqlCommand commRetrieveOrders = new SqlCommand(strRetrievePages,conn);
SqlDataAdapter adpRetrieveOrders = new SqlDataAdapter(commRetrieveOrders);
DataSet dsRetrieveOrders = new DataSet();
adpRetrieveOrders.Fill(dsRetrieveOrders);
DataTable dtRetrieveOrders = dsRetrieveOrders.Tables[0];
foreach(DataRow drOrder in dtRetrieveOrders.Rows) {
dtPages.Rows.Add(drOrder[0].ToString(),DateTime.Parse(drOrder[1].ToString()),Convert.ToInt32(drOrder[2].ToString()));
}
das Ergebnis zu verschmelzen, ist leider eine Tabelle mit null
Feldern für die jeweilige fehlt Spalte der Tabelle.
Wo ist der Aufruf zu 'Merge'? – wablab
dtCalls.Merge (dtPages, false, MissingSchemaAction.Add); –
Ergibt 'dtCalls' eine Zeilenanzahl, die der Zeilenanzahl von' dtCalls' plus der Zeilenanzahl von 'dtPages' entspricht? Ergibt es auch eine neue Spalte namens "Bestellungen"? – wablab