Проблема добавления строки в набранный набор данных - PullRequest
1 голос
/ 25 июля 2011

У меня есть база данных доступа, и я создал типизированный набор данных для нее с помощью Visual Studio (.xsd), и я хочу добавить в нее новую запись, но у меня есть проблема, поскольку она не добавляет данные в базу данных, и есть Нет ошибок. Мой код выглядит следующим образом (кратко):

MyProjectDataSet.PAddressDataTable t=(MyProjectDataSet.PAddressDataTable)MyDataSet.Tables["PAddress"];
            var r = t.NewPAddressRow();
            r.PID = 44;  // Person ID which this address belong
            r.Address1 = "Line1";
            r.Address2 = "Line2";

            t.Rows.Add(r);
            r.AcceptChanges();
            t.AcceptChanges();

        PAddressTableAdapter.Update(r);

Я вижу, что после добавления новой строки в таблицу она появляется в таблице с ID = -1. Но когда я обновляю строки, я не вижу их в базе данных доступа, и нет ошибки.

Что не так с этим кодом? Я не хочу использовать Insert, так как количество полей, которые у меня есть, очень велико, и Insert не принимает данные Row.

Ответы [ 2 ]

1 голос
/ 26 июля 2011

Удалите

r.AcceptChanges ();

t.AcceptChanges ();

строк и повторите попытку.

0 голосов
/ 19 августа 2011

Не «AcceptChanges», прежде чем выполнять «Обновление». «Обновление» опирается на информацию об изменениях в «Таблице данных», чтобы определить, какую операцию выполнить. После завершения «Обновления» все строки, зафиксированные в базе данных, автоматически получат свои изменения после завершения операций с данными.

...