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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.04.2013, 12:23   #21
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Код:
ADOQuery1.Open;
(ADOquery1.Fieldbyname(...) as TdateTimeField).displayformat:='dd.mm.yyyy';
(ADOquery1.Fieldbyname(...) as TdateTimeField).displayformat:='dd-mm-yyyy';
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 02.04.2013, 12:41   #22
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

Serge_Bliznykov вот тут еще почитайте
http://conferences.embarcadero.com/a...09301209_P.DOC
eval вне форума Ответить с цитированием
Старый 02.04.2013, 13:51   #23
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от eval
Serge_Bliznykov вот тут еще почитайте
Угу. Спасибо. почитал (хотя, это всё знакомо..)
то, что касается TADOQuery, цитирую:
Цитата:
TDATASET DESCENDANTS
Delphi’s ADO components include four TDataSet descendants: TADODataSet, TADOTable, TADOQuyery, and TADOStoredProc. TADODataSet is the most flexible, capable of returning the records of a table or result set of a SQL SELECT statement. You cannot, however, use a TADODataSet to execute SQL statements that do not return a result set.
The TADOTable, TADOQuery, and TADOStoredProc components are designed to share an interface similar to their BDE counterparts: TTable, TQuery, and TStoredProc, respectively. For DDL and DML statements that do not return a result set, use the TADOQuery or TADOCommand component.
кроме того, что TADOTable, TADOQuery, and TADOStoredProc компоненты разработаны для совместимости с BDE - больше никаких противопоказаний против их использования я не увидел.. Автор статьи (Cary Jensen) так и говорит, используйте или одно или другое...

по ранее запощенным вами ссылкам...
в принципе огорошило/удивило мнение Anatoly Podgoretsky
Цитата:
Сообщение от Anatoly Podgoretsky
Query это костыль от Борланда, очень вредным оказалось

... проблемы могут быть с AdoQuery, он же костыль. Ну как минимум еще и низкая производительность.
Странно, что если это такое костыль, к тому же ещё и кривой, неэффективный, медленный, почему об этом на каждом заборе не написано?!!

например, вот информация с оф.сайта (embarcadero.com)
TADOQuery Class
Цитата:
Сообщение от embarcadero.com
TADOQuery provides the means for issuing SQL against an ADO data store.
...
File

ADODB
Description

Use TADOQuery to access one or more tables in a data store using SQL statements.

Retrieve data from tables in an ADO data store using SELECT statements. Perform actions on tables and other metadata objects in an ADO data store with statements like INSERT, DELETE, UPDATE, ALTER TABLE, and CREATE TABLE. Execute stored procedures.
найдите хотя бы РЕКОМЕНДАЦИЮ (или примечание) не использовать этот класс, а использовать вместо него - другой...

Хотя насчёт
Цитата:
The preferred approach with ADO components is to use TADODataSet and TADOCommand. TADOQuery (and TADOTable and TADOStoredProc) are provided for compatibility.

Use TADODataSet for SQL that returns result-sets and TADOCommand for SQL that does not.
спасибо, возможно, при случае, воспользуюсь данным советом.
Тем более, надо прислушаться к мнению Анатолия Подгорецкого!


в любом случае, спасибо за информацию. принял к сведению.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 02.04.2013, 18:05   #24
Kamuist
Пользователь
 
Аватар для Kamuist
 
Регистрация: 15.05.2009
Сообщений: 18
По умолчанию

так что мне сделать, с query или с grid чтобы значения менялись...
Kamuist вне форума Ответить с цитированием
Старый 03.04.2013, 09:24   #25
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Kamuist Посмотреть сообщение
так что мне сделать, с query или с grid чтобы значения менялись...
Если суть дискуссии ускользнула от Вас, поясню.
Суть обсуждения в том, чтобы не использовать TADOQuery ( который придуман, как "костыль" для перехода с BDE на ADO),
а вместо него:
использовать для получения данных (запрос SELECT) TADODataSet
использовать для изменения данных (запросы DELETE/UDPATE/INSERT) TADOCommand

а что у Вас с query не получается, расскажите поподробнее...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 03.04.2013, 19:56   #26
Kamuist
Пользователь
 
Аватар для Kamuist
 
Регистрация: 15.05.2009
Сообщений: 18
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Если суть дискуссии ускользнула от Вас, поясню.
Суть обсуждения в том, чтобы не использовать TADOQuery ( который придуман, как "костыль" для перехода с BDE на ADO),
а вместо него:
использовать для получения данных (запрос SELECT) TADODataSet
использовать для изменения данных (запросы DELETE/UDPATE/INSERT) TADOCommand

а что у Вас с query не получается, расскажите поподробнее...
О боги.. я понял что DataSet использовать лучше чем Query, но это лаба и я не собираюсь судорожно менять все query на dataset, если он лучше значит буду использовать в каких то более серьёзных прогах либо следующий раз, но пробовать я попробовал и проблему это не решило все осталось также а суть проблемы описал еще сначала))
Цитата:
Сообщение от Kamuist Посмотреть сообщение
Вторая проблема при написании проги использовал ADOTable для связи с Grid на событие DBGrid1CellClick написал получение данных из таблицы в edit-ы Picker-ы и DBLookUpCmBobox-ы после чего начал наводить так сказать марафет, ставить ADOquery написал запрос что бы все красиво выглядело с псевдонимами с фамилиями вместо id-шников и эта схема перестала работать, значения получаю только из первой строки на которую тыкну после чего значения не меняются

на работе есть sql сервер тоже 2008 ток не r2 попробовал там создать новый проект на тестовой виртуалке с бекапом рабочей базы, вытащил тада грид adoquery написал такую же процедуру получения данных и там все работает и дата в грид получается сразу в формате dd-MM-yyyy хотя ничего про дату не писал....
все дальше я в ступоре
очень прошу объяснить что я не так делаю, указать верный путь...
p.s. я новичок не судите строго)

Последний раз редактировалось Kamuist; 03.04.2013 в 20:28.
Kamuist вне форума Ответить с цитированием
Старый 03.04.2013, 19:58   #27
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
О боги.. я понял что DataSet использовать лучше чем Query
Пользуйся ADOQuery на здоровье, скажу по секрету - большинство именно им и пользуется
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 03.04.2013, 20:40   #28
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

Цитата:
скажу по секрету - большинство именно им и пользуется
да какой тут секрет, весь форум уделан вопросами с этим костылем.
eval вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с датой ZaramothРещьфкфя Visual C++ 0 19.09.2012 07:37
VB 6.0 проблема с временем и датой Vovka91 Помощь студентам 5 19.12.2011 06:24
Проблема с Датой в Excel Vitjajj Microsoft Office Excel 9 07.07.2011 22:56
отсутствует взаимосвязь между датой поступления товара и датой отгрузки Forget Microsoft Office Access 0 13.02.2011 14:10
Проблема с датой и временем Amen PHP 8 17.10.2009 22:11