【问题标题】:Export DataBase (.mdb / .accdb) to .csv with row selection使用行选择将数据库 (.mdb / .accdb) 导出到 .csv
【发布时间】:2017-10-17 09:27:49
【问题描述】:

我必须做什么:

我需要加载数据库、搜索条目并导出选定的列。

问题:

我有一个DataGrid(没有DataGridView)作为列表并选择数据库条目,但我无法找到任何解决方案来仅导出以; 作为分隔符的选定行。

编写我如何加载和列出数据库的代码

using (OleDbConnection ODC = new OleDbConnection("Provider = Microsoft.Jet.OLEDB." + iOledDBVersion + "; Data Source = " + connectionString))
{
    OleDbCommand ODCmd = new OleDbCommand(insertSQL);

    ODCmd.Connection = ODC;
    ODC.Open();
    ODCmd.ExecuteNonQuery();

    //Data-Adapter erstellen
    OleDbDataAdapter OleDbDataAdapter_Temp = new OleDbDataAdapter(insertSQL, ODC);
    OleDbCommandBuilder OleDbCommandBuilder_Temp = new OleDbCommandBuilder(OleDbDataAdapter_Temp);


    //Daten aus der Datenbank in Dataset speichern
    OleDbDataAdapter_Temp.Fill(DataSet_DB, sTabelle);

    // Schleife für jede Tabelle
    for (int i = 0; i < DataSet_DB.Tables.Count; i++)
    {
        // Setzt die Spalten der DB in das DataGrid
        DataGrid_Table.DataContext = DataSet_DB.Tables[i].DefaultView;
    }
}

有没有合适的方式导出这些行?

【问题讨论】:

  • @demo 不,它不是,我没有 DataGridView 并且只需要导出选定的行...请阅读我的问题,然后将其标记为重复
  • @demo 我想我创建了一个新问题,因为旧问题可以帮助解决输出问题的人,但这是另一个需要帮助的其他人的问题......跨度>

标签: c# wpf csv datagrid oledbconnection


【解决方案1】:

有一个SelectedItems 属性将返回DataGrid 中的选定项。在您的情况下,您可以将每个此类项目发送到DataRowView,例如:

StringBuilder sb = new StringBuilder();
foreach(var selectedRow in DataGrid_Table.SelectedItems.OfType<DataRowView>())
{
    foreach(DataColumn column in selectedRow.DataView.Table.Columns)
    {
        sb.Append(selectedRow[column.ColumnName] + ";");
    }
    sb.Append(Environment.NewLine);
}

string export = sb.ToString();

【讨论】:

  • 您应该在博客上发布您的解决方案,我在 3 小时搜索后没有找到解决方案/如此简单的解决方案 :)
  • 我再次需要你的帮助,我也找不到在我的 .csv 中获取所有索引 Header 的方法。 @mm8
  • @Hille,使用column.ColumnName 创建一个标题行。在您的文件中添加它。
  • @Hille:如果您还有其他问题,请提出一个新问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-20
  • 2011-03-15
  • 1970-01-01
  • 2013-04-08
  • 2012-03-21
  • 1970-01-01
相关资源
最近更新 更多