Использование простого файла данных .Net - PullRequest
0 голосов
/ 22 марта 2011

Я создал новый проект в .Net (2010 4.0) и добавил файл данных SDF. Я сгенерировал набор данных и создал в нем таблицу (и я уверен, что сгенерировал Fill и другие методы).

В коде я пытаюсь добавить строку в базу данных.

        eBureauScrubber.App_Data.matchingtempDataSet ds = new App_Data.matchingtempDataSet();
        eBureauScrubber.App_Data.matchingtempDataSet.ctfFileRow row = ds.ctfFile.NewctfFileRow();
        row.Address = "123 Main St.";
        row.City = "Overland Park";
        row.FirstName = "Matt";
        row.LastName = "Dawdy";
        row.rownum = 1;

РЕДАКТИРОВАТЬ: Добавлен следующий бит кода.

        ds.ctfFile.Rows.Add(row);
        ds.ctfFile.AcceptChanges();
        ds.AcceptChanges();

        eBureauScrubber.App_Data.matchingtempDataSetTableAdapters.ctfFileTableAdapter ctfa = new App_Data.matchingtempDataSetTableAdapters.ctfFileTableAdapter();
        ctfa.Update(ds.ctfFile);

Это работает нормально. Однако после завершения программы данные не сохраняются в базе данных. Чего мне не хватает?

РЕДАКТИРОВАТЬ: я пробовал все различные комбинации AcceptChanges () для таблицы данных, набора данных, запуска update () до, после и т. Д. Я здесь упускаю что-то огромное. Я даже не уверен, что он подключается к «правильной» базе данных. Может быть, это моя проблема.

РЕДАКТИРОВАТЬ 2: Вот что я сделал, чтобы заставить это работать (хотя это все еще прикольное).

  1. Измените свойства моего файла БД в App_Data на «Не копировать»
  2. Вручную скопируйте этот файл базы данных в bin \ debug \ app_data
  3. Используйте метод заполнения адаптера данных для заполнения таблицы данных ds.ctfFile.
  4. Создать строку (.NewctfFileRow ())
  5. Установить значения в этой строке.
  6. ds.ctfFile.AcceptChanges ();
  7. ds.AcceptChanges ();
  8. Вызвать метод обновления адаптера.

Теперь данные находятся в моем файле базы данных (в bin \ debug \ app_data), но я не вижу их из-за соединения с источниками данных. Я все еще пытаюсь выяснить, как это сделать.

1 Ответ

2 голосов
/ 22 марта 2011

Он должен был сгенерировать класс TableAdapter с методом .Update(), который необходимо вызвать для сохранения данных в вашей базе данных.См. MSDN для некоторых примеров.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...