Как сохранить данные набора данных в C#?
Привет,
Я довольно новый программист и работаю над приложением windows на языке C#. Я создал сеточное представление, которое привязано к локальному набору данных. Sql server не существует, это строго локальный набор данных.
Я написал код обработчика событий для кнопки Сохранить, которую я добавил в навигаторе привязки. Может ли кто-нибудь, пожалуйста, просмотреть мой код и дать мне знать, где я ошибся?
private void SaveButton_Click_1(object sender, EventArgs e) { try { dataTable1BindingSource1.EndEdit(); App.DataTable1.WriteXml(string.Format("{0}//data.dat", Application.StartupPath)); MessageBox.Show("Save Complete"); groupBox3.Enabled = false; grpBxReportedBy.Enabled = false; groupBox1.Enabled = false; App.DataTable1.AcceptChanges(); } catch (Exception ex) { MessageBox.Show(ex.Message, "Messages", MessageBoxButtons.OK, MessageBoxIcon.Error); App.DataTable1.RejectChanges(); } } static DataSet1 db; protected static DataSet1 App { get { if (db == null) db = new DataSet1(); return db; } } private void FascilitiesMaint2018_Load(object sender, EventArgs e) { string fileName = string.Format("{0}//data.dat", Application.StartupPath); if (File.Exists(fileName)) { App.DataTable1.ReadXml(fileName); } dataTable1BindingSource1.DataSource = App.DataTable1; groupBox3.Enabled = false; grpBxReportedBy.Enabled = false; groupBox1.Enabled = false; }
Что я уже пробовал:
Я редактировал свой код много раз, чтобы попытаться исправить эту проблему, но я не могу заставить его сохранить.
Ранее у меня была ошибка перегрузки, которую мне удалось исправить.
Я потратил несколько часов, пытаясь найти учебники по сохранению с помощью наборов данных, но все, что я нашел, - это наборы данных SQL.
CHill60
Отладка и поиск содержимого string.Format("{0}//data.dat", Application.StartupPath)
Это должно быть допустимое имя файла, и вы должны иметь возможность записывать данные в эту папку.
Вы установили, что это windows, так что попробуйте использовать путь.Комбинируйте метод, чтобы получить имя файла - те//, вероятно, должны быть \\ ... Путь.Метод Объединения (String, String) (System.IO)[^]
Andrew Baylis
в чем же заключается фактическая ошибка? Это связано с именем файла или с фактическим сохранением в XML?
gggustafson
Что такое DataSet1? Что такое приложение? Если вы хотите записать DataTable в CSV-файл, см. CSV To.From DataTable здесь, на CP