[英]C# -Ms Access Query: Concatenating Rows through a query
我需要連接多行,此需求已在此線程Ms Access Query: Concatenating Rows through a query 中討論和回答
在上面的線程中,指定的需求只能通過 VBA 函數來實現..但我想通過 C# 函數來實現它。 是否有可能通過 ms access 查詢連接多行,並且該查詢應該從 C# 執行。
我想通過 MS Access 查詢來實現這個完整的功能,就像 SQL 查詢的 For XML PATH 一樣。
您可以使用這樣的 OleDbConnection 查詢您的 ms db:
var con = new System.Data.OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\myFolder\myAccessFile.accdb;");
string stbQuery = "SELECT * FROM [Table]";
OleDbDataAdapter adp = new OleDbDataAdapter(stbQuery, con);
DataSet dsXLS = new DataSet();
adp.Fill(dsXLS);
var groups = dsXLS.Tables[0].Rows.OfType<DataRow>().GroupBy(r => r.ItemArray[0]);
System.Data.DataTable t = new System.Data.DataTable();
t.Columns.Add("Key");
t.Columns.Add("Value");
foreach (var grp in groups)
{
t.Rows.Add(grp.Key, grp.ToList().Select(r => r.ItemArray[1]).Aggregate((a, b) => a + "," + b));
}
Console.ReadLine();
msdn 教程:https ://msdn.microsoft.com/en-us/library/aa288452(v= vs.71).aspx
祝你有美好的一天!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.