CSV Datei über ADO.NET

LukeS

Erfahrenes Mitglied
Hallo zusammen.

Ich habe eine CSV-Datei, die ich über den "Microsoft Text Driver" in einer DataGridView darstelle. Nun möchte ich gerne in der DataGridView geänderte oder hizugefügte Daten wieder in die CSV Datei schreiben.
Wie funktioniert der Befehl, um die Daten zu updaten?
Genügt es, wenn ich den richtigen SQL Befehl ausführe?

Vielen Dank für eure Hilfe.

Code:
 internal class CsvDataTable : DataTable
 {
...
 public CsvDataTable(string path)
      {
         _path = path;
         if (!File.Exists(_path))
            throw new FileNotFoundException();

         FileInfo fileInfo = new FileInfo(_path);
         string connectionString = String.Format("Driver={{Microsoft Text Driver (*.txt; *.csv)}};Dbq={0};", fileInfo.DirectoryName);
         _connection = new OdbcConnection(connectionString);
         _dataAdapter = new OdbcDataAdapter(String.Format("select * from [{0}]", fileInfo.Name), _connection);
         try
         {
            _connection.Open();
            _dataAdapter.Fill(this);
         }
         catch (Exception e)
         {
            MessageBox.Show(e.Message);
         }
         finally
         {
            _connection.Close();
         }
      }
}

In einem Form erzeuge ich eine DataGridView, der ich als DataSource eine CsvDataTable zuweise.

Jetzt möchte ich jedoch geänderte Daten der DataGridView in die CSV Datei schreiben.
Code:
public void SaveCsvData()
{
    FileInfo fileInfo = new FileInfo(_path);
    string sql_string = string.Format("UPDATE {0}", fileInfo.Name);
 
    var updateCommand = new OdbcCommand(sql_string, _connection);
    _dataAdapter.UpdateCommand = updateCommand;
 
    try
    {
        updateCommand.Connection.Open();
        _dataAdapter.Update(this);
        updateCommand.Connection.Close();
    }
    catch(Exception e)
    {
        MessageBox.Show(e.Message);
    }
}


Gruss LukeS
 

Neue Beiträge

Zurück