Solariem Ответов: 0

Как сохранить данные набора данных в 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

0 Ответов