Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Как добавить запись ? / 6 сообщений из 6, страница 1 из 1
11.06.2007, 18:46
    #34588721
Alexey Alekseenko
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как добавить запись ?
Как добавить запись и отдать ее на редактрование юзеру?
Делаю так:

Код: plaintext
1.
2.
3.
DataRow newrow = dt.NewRow();
newrow.BeginEdit();                     //сам сомневаюсь что оно тут надо
dt.Rows.Add(newrow);
...показать интерфейс редактирования


На 3-ей строке получаю ошибку, типа поле должно иметь значение. Иметь-то оно должно, вот только установить его должен пользователь.
...
Рейтинг: 0 / 0
11.06.2007, 18:58
    #34588730
chpasha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как добавить запись ?
как один из вариантов DataSet.EnforceConstraints - можно временно отключить контроль на например not null, но ваще по ситуации надо смотреть. Если речь о ключе - распространенный вариант (но тоже не единственный) - установить его на клиенте в минус, с шагом -1, а при коммите на сервер, менять на что надо по смыслу, триггером, вручную или еще как
...
Рейтинг: 0 / 0
11.06.2007, 19:02
    #34588735
Alexey Alekseenko
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как добавить запись ?
Я кажется понял, тут подход такой что надо инициировать поля, а пользователь потом уже сам выбирет.
...
Рейтинг: 0 / 0
11.06.2007, 20:30
    #34588798
bvxcvbdfgsdfg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как добавить запись ?
AddRow надо вызывать когда строка уже заполнена значениями. Случае если какое то значение поля не соответствует constraint`ам таблицы, будет exception.
...
Рейтинг: 0 / 0
12.06.2007, 10:43
    #34589141
chpasha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как добавить запись ?
Alexey AlekseenkoЯ кажется понял, тут подход такой что надо инициировать поля, а пользователь потом уже сам выбирет.
ну как тебе нравится, можешь отключать констрейнт как я сказал, в датасете, если потом не забудешь его включить обратно
...
Рейтинг: 0 / 0
12.06.2007, 14:03
    #34589506
Alexey Alekseenko
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как добавить запись ?
Отключить констрейнт ? Если его можно отключить только для одной DataTable (сомневаюсь) то это приемлемый вариант. А отключать проверку для всего датасета нельзя - одновременно с добавлением записи юзер может работать в других формах, которые работают через один датасет.
И все-таки я не понял. Вот, давайте на пальцах. У юзера есть кнопка +. При нажатии в таблицу д.б. добавлена запись, открыться форма редактирования. Там он выставляет поля, нажимает сохранить. Как это реализовать ? У таблиц могут быть PK, Unique, FK и т.д. Вижу два выхода: отключить констрейнты, добавить в таблицу запись, открыть форму редактирования, где он расставит значения; второй - не отключать, но перед добавлением в коде выполнить инициализацию констрейнт-полей, так, чтобы при добавлении не возникала ошибка. Первый не приемлем (писал выше), второй... Как-то скользко получается... Не надежно.
Но кажется я догадался - запись нужно добавить в DataTableView, и только при нажатии на "сохранить" добавлять в дататэйбл ?
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Как добавить запись ? / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]