簡體   English   中英

C# -Ms 訪問查詢:通過查詢連接行

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM