none
Проблема с обновлением связанного поля в DataSet RRS feed

  • Вопрос

  • Есть таблица А, у нее есть дочерние таблицы B1 и B2. У этих таблиц В1 и В2 естественно есть FK на таблицу А. Я загружаю в Typed DataSet данные, связанные соответствующим образом и делаю на нем UpdateAll() чтобы эти новые данные добавились в базу. Автоинкрементное поле AId в таблице А устанавливается соответствующим образом, т.е. в DataSet оно было 0, а после UpdateAll в базе данных оно становится 235374. FK (поле AId) таблицы В1 на таблицу А также устанавливается соответствующим образом, т.е. было 0 а стало 235374. Но почему-то FK таблицы В1 как было 0 так и осталось 0. Где искать проблему, на сервере или в DataSet?   

    27 июля 2011 г. 8:38

Ответы

  • Здравствуйте.

    Откройте схему DataSet-а в дизайнере. В Solution Explorerer двойной клик по xsd файлу. Вы увидите схему таблиц и их связи. Проверьте настройки каждой связи (двойной клик по ней откроет настройки) и убедитесь, что там стоит Both Relation and Foreign Key Constraint, а в Update Rule и Delete Rule выставлена опция Cascade (см скриншот ниже).

     

     

     


    Для связи [mail]
    • Предложено в качестве ответа Abolmasov Dmitry 4 августа 2011 г. 5:19
    • Помечено в качестве ответа Abolmasov Dmitry 5 августа 2011 г. 11:33
    3 августа 2011 г. 9:53

Все ответы

  • Скорее ошибка где-нибудь на стороне прогаммы. На сервере вы же можете проверить работоспособность связей. Будут полезным следующие материалы из статьи Иерархическое обновление


    Для связи [mail]
    28 июля 2011 г. 13:31
  • я уже облазил этот раздел вдоль и поперек. Именно там и нашел как работать с tableadaptermanager
    28 июля 2011 г. 14:31
  • Здравствуйте.

    Откройте схему DataSet-а в дизайнере. В Solution Explorerer двойной клик по xsd файлу. Вы увидите схему таблиц и их связи. Проверьте настройки каждой связи (двойной клик по ней откроет настройки) и убедитесь, что там стоит Both Relation and Foreign Key Constraint, а в Update Rule и Delete Rule выставлена опция Cascade (см скриншот ниже).

     

     

     


    Для связи [mail]
    • Предложено в качестве ответа Abolmasov Dmitry 4 августа 2011 г. 5:19
    • Помечено в качестве ответа Abolmasov Dmitry 5 августа 2011 г. 11:33
    3 августа 2011 г. 9:53