Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Заполнение таблиц родительская - дочерняя / 8 сообщений из 8, страница 1 из 1
13.09.2006, 15:31
    #33984499
ANTIVIR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заполнение таблиц родительская - дочерняя
Не подскажете кто как заполняет подчиненные таблицы?
Нашел примерчик, по заполнению таковых в датасете, но впри апдейте бд подчиненную таблицу как заполнить?

Для осн.таблицы делаю
Код: plaintext
1.
.AutoIncrementSeed = - 1 
.AutoIncrementStep = - 1 
, а потом ключ вношу в дочернюю, соответственно и пишет он туда -1 к примеру, и внося в базу вносит -1, а в базе строк в осн.таблице с -1 конечно нет.
Поэтому хотелось бы увидеть примеры, кто как заполняет такие таблицы?
...
Рейтинг: 0 / 0
15.09.2006, 21:46
    #33991550
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заполнение таблиц родительская - дочерняя
ANTIVIR
Поэтому хотелось бы увидеть примеры, кто как заполняет такие таблицы?

поиск по сайту, либо в MSDN:
UpdateRule DeleteRule AcceptRejectRule

Код: plaintext
 uid  =  S a

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
18.09.2006, 10:35
    #33993205
ANTIVIR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заполнение таблиц родительская - дочерняя
Sa
поиск по сайту, либо в MSDN:
UpdateRule DeleteRule AcceptRejectRule


Сдела FK по примеру MSDN

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
        pCol = DS_All.Tables("tblPar").Columns("IdKey")
        cCol = DS_All.Tables("tblChild").Columns("IdKey")
        myFK = New ForeignKeyConstraint("FK_tblPar", pCol, cCol)
        myFK.UpdateRule = Rule.Cascade
        myFK.DeleteRule = Rule.Cascade
        myFK.AcceptRejectRule = AcceptRejectRule.None
        DS_All.Tables("tblChild").Constraints.Add(myFK)
        DS_All.EnforceConstraints = True

Но при апдейте датасета по таблице tblChild , всеравно вылетает экспешн что нарушена целостность таблиц
...
Рейтинг: 0 / 0
18.09.2006, 10:59
    #33993266
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заполнение таблиц родительская - дочерняя
ANTIVIR
Но при апдейте датасета по таблице tblChild , всеравно вылетает экспешн что нарушена целостность таблиц

Как Update делаете?

Код: plaintext
 uid  =  S a

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
18.09.2006, 11:17
    #33993327
ANTIVIR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заполнение таблиц родительская - дочерняя
Код: plaintext
1.
DA_Par.Update(DS_All, "tblPar")
DA_Child.Update(DS_All, "tblChild")
...
Рейтинг: 0 / 0
18.09.2006, 11:22
    #33993349
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заполнение таблиц родительская - дочерняя
ANTIVIR
Код: plaintext
\nDA_Par.Update(DS_All, "tblPar")\nDA_Child.Update(DS_All, "tblChild")\n

нужно по отдельности про апдейтить добавляемые, удаляемые и обновляемые строки, например, как автор топика делал здесь:
/topic/82293

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
18.09.2006, 13:51
    #33993929
ANTIVIR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заполнение таблиц родительская - дочерняя
Sa
нужно по отдельности про апдейтить добавляемые, удаляемые и обновляемые строки, например, как автор топика делал здесь:
/topic/82293

Код: plaintext
 uid  =  S a

/topic/82293#594225

Вы это имели ввиду? Я просто не уловлю , каким образом это решит мои проблемы?

У меня получается что в род.таблице после апдейта строке выдается новый ключ исходя из значений счетичика (т.к. .AutoIncrementSeed = -1
.AutoIncrementStep = -1), а в доч.таблицу в поле для FK пишется -1,я предполагал DA сам каким то образом выдает ключи в доч.таблицу.

Или все таки такое нельзя сделать? И нужно самому дергать только что полученный ключ и добавлять его в дочку?
...
Рейтинг: 0 / 0
19.09.2006, 07:07
    #33995571
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заполнение таблиц родительская - дочерняя
ANTIVIR
Я просто не уловлю , каким образом это решит мои проблемы?


ANTIVIR
Но при апдейте датасета по таблице tblChild , всеравно вылетает экспешн что нарушена целостность таблиц

что за exception вылетает? оригинал ошибки.
подробнее в чем суть проблемы?

Код: plaintext
 uid  =  S a

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Заполнение таблиц родительская - дочерняя / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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