ВедхийТип, спасибо за инфу, как-нибудь для себя позанимаюсь этим
Лелег, кк, тогда стоит вызывать Филл при каждом клике по листБоксу. Но вот перекрестные эти запросы не понимаю как реализовать. Вот например загрузилось приложение, коннект - инфа по соответствующим запросам заполнила соответствующие адаптеры, заполнили филлом датасет, закрыли коннект. Есть листбокс с названиями таблиц. Выбираем таблицу актеры - датаСорс ДГВ выставляется в название выбранной таблицы, она визуализируется в ДГВ. Добавили поле. оно, новое, есть только в дгв. Теперь надо филлом переписать его в датасет. Допустим, сделал я это по РоуЭддед адаптера таблицы Актер. Но сразу вопрос: изменения ведь происходят в ДГВ, сработает ли обработчик события
адаптера? Т.е. передается ли адаптер вместе с соответствующей ему таблицей в ДГВ?
Допустим, получилось. Но если надо ручками добавлять этого же актера в гонорары( хотя я хоть убей не пойму как, если там все значения формируются знакоместами "?", и как программа поймет что это именно нужный ?, в не тот, что я еще стопицот раз добавил за сеанс?), то какой смысл тогда в релейшенах, если они автоматом не заполняют внешний ключ? или нужно это както явно указать? или это сработает после Филла в обработчике события РоуЭддед?
опоздал, щас почитаю твой мессаг
5. Анализируем в обработчике этого события то, что мы там добавили, и составляем SqlCommand для вставки записи в таблицу на сервере (как правило, это некий SQL-запрос).
sql запрос, как правило, нужен для обновления БД на сервере. метода Филл достаточно для апдейта датасета. Как нам обьясняли, ресурсы надо использовать очень экономично, и коннектится только 2 раза: при начала работы и при завершении. Все локальные изменения фиксировать только в датасете. Т.е. получается, Филлом.
при завершении работы есть шаблонные запросы в коде типа:
adapter4.DeleteCommand = new OdbcCommand("DELETE FROM Genre WHERE GenreID = ?", con);
adapter4.UpdateCommand = new OdbcCommand("UPDATE Genre SET GenreName = ? WHERE GenreID = ?", con);
adapter4.InsertCommand = new OdbcCommand("INSERT INTO Genre (GenreID, GenreName) VALUES " +
"(?, ?)", con);
Тогда получается, вставлять запись в дочернюю таблицу надо через свойства измененной Роу. Как получить это конкретное значение 1 столбца? И опять же остается вопрос о смысле релейшена как такового