使用行选择将DataBase(.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; } } 

是否有任何导出这些行的方法?

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

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