C# в формате CSV помощником сохранения информации
Я могу написать новый файл. csv, когда приложение открывается, но если я хочу отредактировать существующий файл .csv и переписать его, я получаю пустой datagride. как мне это обойти?
Что я уже пробовал:
private void btnWrite_Click(object sender, EventArgs e) { using (SaveFileDialog sfd = new SaveFileDialog() { Filter = "csv|*.csv", ValidateNames = true }) { if (sfd.ShowDialog() == DialogResult.OK) { using (var sw = new StreamWriter(sfd.FileName)) { var writer = new CsvWriter(sw); writer.WriteHeader(typeof(Lunch)); if (lunchBindingSource == null || lunchBindingSource.DataSource == null) { MessageBox.Show("Error in Saving.", "Message", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } foreach (Lunch s in lunchBindingSource.DataSource as List<Lunch>) { writer.WriteRecord(s); } } MessageBox.Show("Your Data has been Successfully saved.", "Message", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } private void btnRead_Click(object sender, EventArgs e) { using (OpenFileDialog ofd = new OpenFileDialog() { Filter = "CSV|*.csv", ValidateNames = true }) { if (ofd.ShowDialog() == DialogResult.OK) { var sr = new StreamReader(new FileStream(ofd.FileName, FileMode.Open)); var csv = new CsvReader(sr); lunchBindingSource.DataSource = csv.GetRecords<Lunch>().ToString(); lunchBindingSource.DataSource = csv.GetRecords<Lunch>(); /// use to create file } } }
NotPolitcallyCorrect
Самое первое, что вам нужно сделать, - это перестать игнорировать исключения.
Второе, что вам нужно сделать, - это научиться отлаживать свой код. И на этот раз сделай это по-настоящему.
Karthik_Mahalingam
Всегда использовать Ответить кнопка для отправки комментариев / запросов заинтересованному пользователю, чтобы пользователь получил уведомление и ответил на ваш текст.
NotPolitcallyCorrect
https://www.codeproject.com/Questions/1169546/Null-reference-when-writing-to-csv-file
Опять же, какой у вас вопрос? Повторная публикация одного и того же снова и снова не поможет вам. Игнорирование исключений тоже не поможет. Вам нужно выяснить, что означает ошибка, и исправить ее. Вы уже знаете, где это происходит и почему теперь вам нужно это исправить.
NotPolitcallyCorrect
Вы узнаете, как использовать отладчик, найти объект, который является нулевым, и исправить свою ошибку.