|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
11.09.2011, 14:40 | #1 |
Заблокирован
Регистрация: 04.07.2011
Сообщений: 261
|
Простые вопросы по Dataset
Здравствуйте!
Подскажите, пожалуйста, по нескольким простым вопросам по Dataset: а) Каталог из него открывается Редактор. После правки или добавлении записи в редакторе (Edit/Insert) постится в БД всё правильно, но так и не обновляется список записей в Каталоге, если не делать Refresh. Если сделать Refresh - то вместо записи, которую правили/добавляли появляется дубликат первой записи Dataset. Баг скорее всего в настройках FIBDataset или TcxGrid - как исправить баг, какие именно настройки могут давать такой баг??? б) Как в процессе выполнения программы очистить Form,FIBDataset,FIBQuery до состояния "как был настроен при компиляции" без удаления и без пересоздания (например сбросить строки SQL)? nil? или nil только данные обнуляет, но не настройки/параметры? в) Можно ли как-то одной командой назначить во всём Dataset определённой колонке одно значение для всех строк? г) Можно ли в Dataset InsertSQL писать код insert с неким условием, например where A=1? То есть чтобы в БД были запостены только записи у которых параметр A=1. Или where со стороны Dataset ничего не значит и не будет понят? д) Как заставить Dataset записи в котором появились по сложной схеме - одним действием (без перебора в цикле) запостить все свои записи в БД? е) При уничтожении формы содержащей Dataset - Dataset обнуляется? уничтожается? чот происходит, если Dataset в этот момент работает данными/БД? |
11.09.2011, 14:45 | #2 | ||||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Код:
Цитата:
Цитата:
Цитата:
I'm learning to live...
|
||||
11.09.2011, 14:57 | #3 |
Заблокирован
Регистрация: 04.07.2011
Сообщений: 261
|
в) не в БД, а именно в Dataset.
г) жалко, что where со стороны Dataset никак не понимается е) вопрос не в том, куда данные, а в том - что с Dataset будет? Он будет уничтожен вместе с формой? Или останется как "невизуальный объект" где-то в памяти программы? |
11.09.2011, 16:46 | #4 | |||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Цитата:
Цитата:
I'm learning to live...
|
|||
12.09.2011, 09:56 | #5 |
Заблокирован
Регистрация: 04.07.2011
Сообщений: 261
|
По поводу последнего предложения - так и не понял, если в Dataset в строке Insert добавить условие "where A=1" и сделать Post - будет ли это условие как-то обработано и учтено в каком-либо месте цепи передачи (Программа-Dataset-СУБД) ???
По остальным вопросам ответов никто не знает? |
12.09.2011, 10:09 | #6 | ||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
Цитата:
Да и вообще, я считаю, что подобный запрос бессмысленен. Если это Вам нужно по логике, тогда либо, как предложил Stilet реализуйте это на серверной логике (триггера и хранимые процедуры), либо, банально выполняйте предварительно запрос на клиенте select count(*) from tttableee1 where A=1 и дальше, если счётчик не равен нулю - выполняйте Insert ... into ... по остальных вопросам (особенно б) ) - извините, но Вы хотите странного, выходящего за пределы нормального применения компонентов, поэтому Вам никто и не отвечает... Последний раз редактировалось Serge_Bliznykov; 12.09.2011 в 10:17. |
||
12.09.2011, 10:12 | #7 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
б) восстановить программно, присвоив нужные значения необходимым свойствам
в) нельзя г) SQL команда INSERT не имеет опции WHERE
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
12.09.2011, 10:52 | #8 |
Заблокирован
Регистрация: 04.07.2011
Сообщений: 261
|
Жалко, что столько ограничений и недоделок ещё в компонентах, тк использование Where в Insert - это элементарная функция фильтрации и сильно упрощала бы задачу Post в БД только выбранных записей без лишних триггеров, циклов итд. Также очевидно удобная функция обнуления состояния компонент до состояния "при запуске" - также удобное решение было, но приходится пересоздавать, что в процессорном временем очевидно в разы тяжелее. Ну и конечно возможность назначить всем строкам одно значение для одной колонки - тоже очевидно удобно, опять такие за сколько там Delphi 15лет не появилось - тупо.
Хоть по А и Д может что-то подскажете? |
12.09.2011, 11:51 | #9 |
Заблокирован
Регистрация: 04.07.2011
Сообщений: 261
|
а) решил.
Остался вопрос д)... |
12.09.2011, 13:47 | #10 | ||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
на вопрос Д) во пост #2 Stilet уже исчерпывающе ответил.
Цитата:
Цитата:
Хорошо, приведите пример, где это появилось (C / C++ / Java / C# / ????? ) |
||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
RadioButton простые вопросы | delphicoding | Общие вопросы Delphi | 6 | 22.07.2011 13:29 |
Строку из одного DataSet в другой DataSet | Abbath1349 | Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) | 0 | 22.05.2011 19:26 |
Из DataSet работающего по циклу в DataSet | maroder22 | БД в Delphi | 1 | 05.09.2010 23:22 |
Простые вопросы по C++ | ERASERROR | Помощь студентам | 3 | 24.03.2008 16:58 |
DataSet | nimf | БД в Delphi | 3 | 28.01.2008 23:03 |