Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как программно сохранить изменения в связанном с БД DataCombo? Или...

575
16 декабря 2003 года
Birmingham
51 / / 20.09.2000
Подскажите пожалуйста способ программно сохранить данные, которые выставлены юзером в DataCombo,
связанном через Adodc с таблицей. Ничего в хелпах не нашел. Сам придумал только кострукцию
Adodc1.Recordset.Move 0. Но тут проблема: как быть если нужно перейти к следующей записи в этом
Recordset без сохранения данных, ведь при MoveNext данные сохраняются автоматом, насколько я понял
из хелпа? Заранее большое спасибо!
266
16 декабря 2003 года
mhaturov
901 / / 23.10.2003
Цитата:
Originally posted by Birmingham
Подскажите пожалуйста способ программно сохранить данные, которые выставлены юзером в DataCombo,
связанном через Adodc с таблицей. Ничего в хелпах не нашел. Сам придумал только кострукцию
Adodc1.Recordset.Move 0. Но тут проблема: как быть если нужно перейти к следующей записи в этом
Recordset без сохранения данных, ведь при MoveNext данные сохраняются автоматом, насколько я понял
из хелпа? Заранее большое спасибо!


Если честно, я делаю обычно отвязанный комбобокс, а потом просто запросом сохраняю изменения из него.

648
16 декабря 2003 года
Tiraspolsky
220 / / 23.07.2003
Цитата:
Originally posted by Birmingham
Подскажите пожалуйста способ программно сохранить данные, которые выставлены юзером в DataCombo,
связанном через Adodc с таблицей. Ничего в хелпах не нашел. Сам придумал только кострукцию
Adodc1.Recordset.Move 0. Но тут проблема: как быть если нужно перейти к следующей записи в этом
Recordset без сохранения данных, ведь при MoveNext данные сохраняются автоматом, насколько я понял
из хелпа? Заранее большое спасибо!



Связанный DataCombo ведь не понимает, хочешь ты сохранять данные или нет. Он умеет только сохранять. Позтому для таких целей он просто не годится.

575
17 декабря 2003 года
Birmingham
51 / / 20.09.2000
Цитата:
Originally posted by Tiraspolsky


Связанный DataCombo ведь не понимает, хочешь ты сохранять данные или нет. Он умеет только сохранять. Позтому для таких целей он просто не годится.



Умеет - отучим. Не хочет - заставим :)
Не верю, что невозможно! А что если для начала бороться примитивным методом: делать обычный рефреш перед переходом на новую запись - ведь тогда все изменения и не сохранятся. Хорошо было бы конечно обойтись без доп. обращений к базе...

575
17 декабря 2003 года
Birmingham
51 / / 20.09.2000
Цитата:
Originally posted by mhaturov

Если честно, я делаю обычно отвязанный комбобокс, а потом просто запросом сохраняю изменения из него.


Этот способ, бесспорно достоин права на существование :) Но только в моем случае я поставил себе задачу - меньше кода - больше автоматики! Поэтому пытаюсь заставить работать автоматически все, что вижу :)) Поиски кратчайшего варианта продолжаются :)

266
17 декабря 2003 года
mhaturov
901 / / 23.10.2003
Цитата:
Originally posted by Birmingham

Этот способ, бесспорно достоин права на существование :) Но только в моем случае я поставил себе задачу - меньше кода - больше автоматики! Поэтому пытаюсь заставить работать автоматически все, что вижу :)) Поиски кратчайшего варианта продолжаются :)


А зря. Более короткий код вовсе не означает более быструю работу и меньшие требования к ресурсам. Хотя. если задался целью "победить" автоматику, то это очень даже интересно - если появится время, подключусь к этому делу. А ты. если что. сообщишь о результатах, ладно?;)

575
17 декабря 2003 года
Birmingham
51 / / 20.09.2000
Цитата:
Originally posted by mhaturov

А зря. Более короткий код вовсе не означает более быструю работу и меньшие требования к ресурсам. Хотя. если задался целью "победить" автоматику, то это очень даже интересно - если появится время, подключусь к этому делу. А ты. если что. сообщишь о результатах, ладно?;)


Ок. обязательно!
А точнее автоматику нужно не "победить", а заставить работать на нас. И вообще, мне почему-то хочется верить, что в MS работают все-таки профессионал, иначе зачем им деньги такие платят?
Давайте для начала исходить, что их контролы ДОЛЖНЫ работать хорошо. А там проверим.
Скажете я романтик? :)

266
17 декабря 2003 года
mhaturov
901 / / 23.10.2003
Цитата:
Originally posted by Birmingham

Ок. обязательно!
А точнее автоматику нужно не "победить", а заставить работать на нас. И вообще, мне почему-то хочется верить, что в MS работают все-таки профессионал, иначе зачем им деньги такие платят?
Давайте для начала исходить, что их контролы ДОЛЖНЫ работать хорошо. А там проверим.
Скажете я романтик? :)


В чём-то я с тобою согласен. Но, согласись, привязанные контролы всё же создавались с целью облегчить разработку приложений вообще, а не оптимизировать код приложений. К тому же они универсальны, а универсальность всегда имеет следствием ущерб оптимальности.

575
17 декабря 2003 года
Birmingham
51 / / 20.09.2000
Дискуссия затянулась :) Меньше слов - больше дела!

Жаль, что никто не хочет признаваться, что хоть раз имел с этим дело :)
648
18 декабря 2003 года
Tiraspolsky
220 / / 23.07.2003
Цитата:
Originally posted by Birmingham
Дискуссия затянулась :) Меньше слов - больше дела!

Жаль, что никто не хочет признаваться, что хоть раз имел с этим дело :)



Приятель, ты ломишься в наглухо заколоченную дверь или наоборот в распахнутую настежь (не знаю, как сказать правильно, чтобы ты понял). Менять значение в связанном контроле - это все равно, что ковыряться непосредственно в таблце, с которой он связан. Единственный способ сохранить старое значение поля, с которым он связан, - это ввести его ручками заново. И никак иначе.

575
18 декабря 2003 года
Birmingham
51 / / 20.09.2000
Цитата:
Originally posted by Tiraspolsky


Приятель, ты ломишься в наглухо заколоченную дверь или наоборот в распахнутую настежь (не знаю, как сказать правильно, чтобы ты понял). Менять значение в связанном контроле - это все равно, что ковыряться непосредственно в таблце, с которой он связан. Единственный способ сохранить старое значение поля, с которым он связан, - это ввести его ручками заново. И никак иначе.


Думаю, нет. Есть такое нитересное событие для DataControl - называется Validate. Очень подозреваю, что оно как раз для этого. Я, конечно использую не DataControl, a ADODataControl и именнно Validate там и нет, но. поскольку эти контролы во многом родственные, видимо, там можно найти заменитель. Вчера просто не хватило времени посмотреть. Так, что, думаю, не стоит спешить с выводами ;)

266
22 декабря 2003 года
mhaturov
901 / / 23.10.2003
Цитата:
Originally posted by Birmingham

Думаю, нет. Есть такое нитересное событие для DataControl - называется Validate. Очень подозреваю, что оно как раз для этого. Я, конечно использую не DataControl, a ADODataControl и именнно Validate там и нет, но. поскольку эти контролы во многом родственные, видимо, там можно найти заменитель. Вчера просто не хватило времени посмотреть. Так, что, думаю, не стоит спешить с выводами ;)


Слухай, раз контролы родственные, то попробуй объявлять ADODataControl поздним связыванием с событиями и там поищи Validate, или создай его сам.

575
22 декабря 2003 года
Birmingham
51 / / 20.09.2000
Цитата:
Originally posted by mhaturov

Слухай, раз контролы родственные, то попробуй объявлять ADODataControl поздним связыванием с событиями и там поищи Validate, или создай его сам.



Спасибо за идею :)
Столько всего уже сделать можно - просто не знаю за что и браться :)

266
23 декабря 2003 года
mhaturov
901 / / 23.10.2003
Цитата:
Originally posted by Birmingham


Спасибо за идею :)
Столько всего уже сделать можно - просто не знаю за что и браться :)


Ну как, получилось?:P

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог