Различия между query и table

Обсуждение возникших проблем, предложений и ошибок MyDAC компонентов
Закрыто
imobile
Сообщения: 103
Зарегистрирован: Сб 12 ноя 2011 00:12

Различия между query и table

Сообщение imobile » Вс 14 апр 2013 17:10

Здравствуйте.
Для работы обычно использую sql запросы. Однако использование сторонних и родных компонент позволяет не использовать, а довериться самим компонентам, что ускоряет разработку.
Работаю с tms и ehlib и родные компоненты dbedit...
Надо ли всегда использовать table, чтоб данные записывались напрямую, или можно использовать query? Ведь в Query можно создать виртуальные столбцы, а так же использовать алиесы. Как будет вести query в перечисленных случаях, а так же если просто использовать SELECT * FROM fhj WHERE SFFG=5?(у меня сложилось мнение, что query это виртуальная таблица, изменения в которой не влияют на данные, а table таблица обращающаяся напрямую к БД и любые изменения влияют на данные, так ли это?)
Какова совместимость mysql с tms и с ehlib?

DemetrionQ
Devart Team
Сообщения: 51
Зарегистрирован: Пн 28 янв 2013 11:54

Re: Различия между query и table

Сообщение DemetrionQ » Ср 17 апр 2013 11:41

Здравствуйте.

И TMyTable и TMyQuery одинаковым образом изменяют данные таблиц в БД. Когда вы вставляете, обновляете, удаляете запись в TMyTable или TMyQuery, формируется и выполняется соответствующий SQL запрос.
При открытии таблицы "YourTable" через TMyTable выполняется SQL запрос

Код: Выделить всё

select * from YourTable
Если вы используете этот SQL запрос в TMyQuery, то в этом случае TMyQuery будет вести себя абсолютно идентично TMyTable.
То, что в TMyQuery в SQL запросе могут присутствуют алиасы или виртуальные столбцы - никак не влияет на возможность редактирования существующих полей таблицы БД.
TMyTable и TMyQuery основаны на стандартном классе TDataSet. TMyTable и TMyQuery совместимы со всеми визуальными компонентами которые могут работать с TDataSet.

Закрыто