Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.09.2011, 14:11   #11
delphicoding
Заблокирован
 
Регистрация: 04.07.2011
Сообщений: 261
По умолчанию

Печально, вы ещё читать не научились, а уже советуете, модерируете и наезжаете...

На вопрос Д никто не ответил.
Остальные ваши комменты лишь показывают уровень вашего "профессионализма".
delphicoding вне форума Ответить с цитированием
Старый 12.09.2011, 15:38   #12
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

мда.. согласен с Вами.
действительно печально..

ответ на вопрос д)
Цитата:
Сообщение от Stilet
Цитата:
Сообщение от delphicoding
Можно ли как-то одной командой назначить во всём Dataset определённой колонке одно значение для всех строк?
Если запросом то
Код:
update таблица set колонка=значение
Если не запросом то в цикле проходи.
p.s. мне всё таки интересно, что Вы пытаетесь за логику вложить в запрос INSERT с условием....
есть команда INSERT INTO <Таблица>
она добавляет запись(и) в таблицу.
Какое отношение добавление записи имеет к фильтрации?!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 12.09.2011, 18:05   #13
delphicoding
Заблокирован
 
Регистрация: 04.07.2011
Сообщений: 261
По умолчанию

Нде. Прочтите ещё раз вопрос Д и сравните с тем, на что ответил тот.

Цитата:
p.s. мне всё таки интересно, что Вы пытаетесь за логику вложить в запрос INSERT с условием....
есть команда INSERT INTO <Таблица>
она добавляет запись(и) в таблицу.
Какое отношение добавление записи имеет к фильтрации?!
Ну конечно, всё очень просто - в неком Dataset в программе собралась таблица из данных которые были получены из разных мест, а потому не были сразу Insert/Update/Commit в БД, потом ещё юзер что-то поправил, в итоге получилась таблица, в которой много данных, все из которых не были добавлены/обновлены в БД и многие из которых в БД просто НЕ НУЖНЫ! Так вот после всех действий с данным нужно таки сохранить в БД те строки, которые реально нужны... и вот тут очень бы пригодилась команда в этом же Dataset вида Insert...where A=1 (где некий признак А указывает, что запись нужная). Особенно актуально это в связи с CachedUpdates - чтобы не писать лишний код с перебором каждой строки в цикле.
Самое смешное, что этот функционал фактически очевиден при работе SQL, как и необходимость иногда назначать всей колонке Dataset одно значение для вех строк. Но в FIBplus ниасилили. Как и почему до этого никто не допёр - загадка десятилетия.
delphicoding вне форума Ответить с цитированием
Старый 12.09.2011, 18:20   #14
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Самое удивительное, что у всех наследников DataSet это не реализовано. Да и алгоритм присваивания одного и того же значения колонкам по диагонали не реализован. А если серьёзно - берем DataSet, наследуем от него свой компонент и реализуем в нем все что хочется, хоть по вертикали, хоть по диагонали
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 12.09.2011, 18:44   #15
ReportCube
Форумчанин
 
Аватар для ReportCube
 
Регистрация: 11.03.2011
Сообщений: 426
По умолчанию

А что, вставка "результата запроса к таблице" уже не существует? По моему это "абсолютно очевидно при работе SQL". И причём здесь Delphi?
ReportCube вне форума Ответить с цитированием
Старый 12.09.2011, 21:29   #16
Surgeon
Форумчанин
 
Регистрация: 04.10.2007
Сообщений: 106
По умолчанию

Цитата:
Сообщение от delphicoding Посмотреть сообщение
Ну конечно, всё очень просто - в неком Dataset в программе собралась таблица из данных которые были получены из разных мест, а потому не были сразу Insert/Update/Commit в БД, потом ещё юзер что-то поправил, в итоге получилась таблица, в которой много данных, все из которых не были добавлены/обновлены в БД и многие из которых в БД просто НЕ НУЖНЫ! Так вот после всех действий с данным нужно таки сохранить в БД те строки, которые реально нужны... и вот тут очень бы пригодилась команда в этом же Dataset вида Insert...where A=1 (где некий признак А указывает, что запись нужная). Особенно актуально это в связи с CachedUpdates - чтобы не писать лишний код с перебором каждой строки в цикле.
Из этого описания следует что нужно создать в БД "временную" таблицу, по структуре соответствующую целевой (куда в итоге должны попасть "нужные" или "отмеченные" данные), но с добавкой поля "А", содержащего булево значение - 0 - не добавлять, 1- добавлять в финальную таблицу.
Затем по наступлении некоего условия или по воле пользователя записи с А=1 заносятся в основную таблицу.
Цитата:
Сообщение от delphicoding Посмотреть сообщение
Самое смешное, что этот функционал фактически очевиден при работе SQL, как и необходимость иногда назначать всей колонке Dataset одно значение для вех строк. Но в FIBplus ниасилили. Как и почему до этого никто не допёр - загадка десятилетия.
Самое смешное что мне например, он почему-то он до сих пор не понадобился, также обрати внимание на недоумение людей запостившихся в этой теме. Тут надо понимать набор компонентов должен быть как можно более универсален. К тому же у разрабов нет телепатора и машины времени чтобы предугадать желания... Вместо этого как указвалось выше есть механизм наследования и бог в помощь ...
P.S. "наезжать" на окружающих пытающихся помочь - неконструктивно и невежливо (ИМХО), а претензи на мессианство странны.
P.P.S. Структуру базы надо лучше продумывать.
Все не так плохо, как вам кажется, на самом деле все гораздо хуже.
http://delphiworld.narod.ru/dw.html - 5000 статей!!! удобный поиск, оффлайн сборник, рекомендую всем
Surgeon вне форума Ответить с цитированием
Старый 12.09.2011, 21:32   #17
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Нде. Прочтите ещё раз вопрос Д и сравните с тем, на что ответил тот.
угу. я был неправ. Процитированный мною текст действительно не является ответом на вопрос Д)


по поводу всего остального - или задумайтесь, почему во всех учебниках, у всех пользователей подобных проблем не возникает..
Ну и дальше, либо менять своё мировозрение, свои привычки и свои подходы к обработке данных, либо не менять, ну и тогда, разумеется, смириться с тем, что все вокруг Вас не понимают, не сочувствуют, не реализовывают нужные Вам методы обновления датасета так, как Вам хотелось бы.
И реализовывать всё нужное Вам самостоятельно - ведь Вы, в отличие от всех нас (и от создателей FIB'ов) знаете главное - как это Должно быть...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 13.09.2011, 10:19   #18
delphicoding
Заблокирован
 
Регистрация: 04.07.2011
Сообщений: 261
По умолчанию

По пункту Д - видимо это CachedUpdates.
Цитата:
А что, вставка "результата запроса к таблице" уже не существует? По моему это "абсолютно очевидно при работе SQL". И причём здесь Delphi?
Вы пишите невпопад.
Цитата:
Из этого описания следует что нужно создать в БД "временную" таблицу, по структуре соответствующую целевой (куда в итоге должны попасть "нужные" или "отмеченные" данные), но с добавкой поля "А", содержащего булево значение - 0 - не добавлять, 1- добавлять в финальную таблицу. Затем по наступлении некоего условия или по воле пользователя записи с А=1 заносятся в основную таблицу.
Боже упаси в момент, когда внутри программы происходит обработка кучи данных внутри одного Dataset - каждое действие делать Post в БД - это идиотизм и элементарно увеличит длительность обработки в разы!, особенно по медленным сетям типа DSL.
Цитата:
Тут надо понимать набор компонентов должен быть как можно более универсален.
Вы пишите несогласованные фразы. "Набор должен быть универсален" поэтому "в нём нет все этих функций" - какая же это нахрен универсальность?!
Цитата:
К тому же у разрабов нет телепатора и машины времени чтобы предугадать желания...
Это всё отмазки левые. Есть SQL, в Dataset как минимум должно быть всё, что есть в FB/IB - например возможность назначения целой колонке одного значения, обработка всей таблицы, идр. Фильтр Where при Insert также очевидно пригодится.

Также написал разработчику IBExpert огромный список багов и явных недоделок в его в общем-то достаточно хорошей программе - сначала он пытался отмазаться от каждого буквально даже просто словами "бред, нафиг это нужно, ну да есть баг, но он мелкий и мы его не исправляем поэтому" - в общем детство какое-то, но уже во втором письме он понял, что не прав и написал просто "ПНХ". :D Ну о чём тут говорить...
delphicoding вне форума Ответить с цитированием
Старый 13.09.2011, 11:04   #19
Surgeon
Форумчанин
 
Регистрация: 04.10.2007
Сообщений: 106
По умолчанию

Ни слова не написал про
Цитата:
Сообщение от delphicoding Посмотреть сообщение
каждое действие делать Post в БД
Я предложил создать таблицу а затем оттуда можно делать желаемый
Цитата:
Сообщение от delphicoding Посмотреть сообщение
г) Можно ли в Dataset InsertSQL писать код insert с неким условием, например where A=1? То есть чтобы в БД были запостены только записи у которых параметр A=1.

Цитата:
Сообщение от delphicoding Посмотреть сообщение
Вы пишите несогласованные фразы. "Набор должен быть универсален" поэтому "в нём нет все этих функций" - какая же это нахрен универсальность?!
Зайдем с такой стороны: у TWinControl например есть виртуальные методы которые переопределяются в потомках. Так вот кто универсальнее? Предок или потомок. Поэтому и идут намеки породить своего потомка с нужной функциональностью. Если эта функциональность реально так нужна, то это легко будет сделано, потом еще можно и с сообществом поделиться.

Цитата:
Сообщение от delphicoding Посмотреть сообщение
Это всё отмазки левые. Есть SQL, в Dataset как минимум должно быть всё, что есть в FB/IB - например возможность назначения целой колонке одного значения, обработка всей таблицы, идр. Фильтр Where при Insert также очевидно пригодится.
Интересно увидым ли мы новый набор компонент от человека который не любит отмазки?

Цитата:
Сообщение от delphicoding Посмотреть сообщение
Также написал разработчику IBExpert огромный список багов и явных недоделок в его в общем-то достаточно хорошей программе - сначала он пытался отмазаться от каждого буквально даже просто словами "бред, нафиг это нужно, ну да есть баг, но он мелкий и мы его не исправляем поэтому" - в общем детство какое-то, но уже во втором письме он понял, что не прав и написал просто "ПНХ". :D Ну о чём тут говорить...
Жесть!!! Не просто маугли, а маугли с фантазией :)

Блин тяжело наверное живется?
Никто не понимает, уже во втором письме ПНХ :))))
Осталось понять что даже если ты пупок то мир мультипупковый (с баша).
Все не так плохо, как вам кажется, на самом деле все гораздо хуже.
http://delphiworld.narod.ru/dw.html - 5000 статей!!! удобный поиск, оффлайн сборник, рекомендую всем
Surgeon вне форума Ответить с цитированием
Старый 13.09.2011, 12:25   #20
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от delphicoding
каждое действие делать Post в БД - это идиотизм и элементарно увеличит длительность обработки в разы!, особенно по медленным сетям типа DSL.
Нескромный вопрос.
Сколько Вы в своей жизни сделали реальных РАБОЧИХ проектов работы с БД ?
А сколько из них сетевых (работает одновременно более одного пользователя) ?
Расскажите нам о них, пожалуйста. Как они сделаны правильно, быстро и без идиотизма...
Мы с удовольствием почитаем о технологиях, которые, к сожалению, нам недоступны..


Surgeon, +1
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
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