2017-10-17 44 views
-1

我必须做什么:导出数据库(.mdb/.ACCDB)与行选择为.csv

我需要加载数据库,搜索条目和导出选择列。

问题:

我有一个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; 
    } 
} 

有出口这些行的任何propper方式?

+0

@demo都能跟得上它不是,我没有一个DataGridView和需要导出只选定行......请阅读我的问题bevor其标记为重复 – Hille

+0

https://stackoverflow.com/questions/46784105/export-selection-from-datagrid-to-csv然后这一个 – demo

+0

@demo我想我创建一个新的问题,因为旧的可以帮助人们与输出问题,但这里是其他人需要帮助的其他问题... – Hille

回答

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(); 
+0

你应该在博客上发布你的解决方案,3小时后我没有找到一个解决方案/这样一个简单的解决方案:) – Hille

+0

我需要你的帮助还有一次,我无法找到一种方法,让我的.csv,t中的所有索引标题OO。 @ mm8 – Hille

+0

@Hille,用'column.ColumnName'创建一个Header行。将其添加到您的文件中。 –