Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.03.12;
Скачать: CL | DM;

Вниз

TQuery and TTable   Найти похожие ветки 

 
ForX   (2006-02-20 14:22) [0]

В гриде всегда должны быть показаны все записи таблицы БД. Есть ли разница в использовании компонентов TTable. И TQuery с запросом SELECT *


 
Ega23 ©   (2006-02-20 14:24) [1]

Есть. В одном случае ты захватываешь таблицу, в другом - можно многим прочитать.
Вообще-то это плохой путь. ИМХО. Очень редко получается, что достаточно Select * сделать. Как правило НД связывается ещё с несколькими таблицами, для удобоваримости.


 
Tonich ©   (2006-02-20 14:25) [2]

ну TTable держит все записи в таблици а TQuery лишь те которые прошли критерии...


 
Asail   (2006-02-20 14:31) [3]


> всегда должны быть показаны все записи таблицы БД

Если так, то нет разницы.
ИМХО TTable.Open делает тот-же SELECT * FROM table_name


 
Sergey13 ©   (2006-02-20 14:32) [4]

2ForX   (20.02.06 14:22)
>Есть ли разница в использовании компонентов TTable. И TQuery с запросом SELECT *
В серверных БД TTable транслируется как TQuery  с запросом SELECT * From Table.


 
ForX   (2006-02-20 14:35) [5]

[1]
> Есть. В одном случае ты захватываешь таблицу, в другом -
>  можно многим прочитать.


значит в первом случае, другой клиент не сможет выполнить TTable.open ???


 
Ega23 ©   (2006-02-20 14:39) [6]


> значит в первом случае, другой клиент не сможет выполнить
> TTable.open ???
>


Забудь про TTable как класс. Совет.


 
Asail   (2006-02-20 14:54) [7]


> Sergey13 ©   (20.02.06 14:32) [4]

ИМХО, не только в серверных.


> ForX   (20.02.06 14:35) [5]

> значит в первом случае, другой клиент не сможет выполнить
> TTable.open ???


сможет. если БД не открывать как Exclusive


 
Sergey13 ©   (2006-02-20 15:00) [8]

2[7] Asail   (20.02.06 14:54)
> ИМХО, не только в серверных.
И кто в Парадоксе или Аксесе отвечает на запросы? Файлы самостоятельно?


 
Asail   (2006-02-20 15:05) [9]


> Sergey13 ©   (20.02.06 15:00) [8]

BDE, например.


 
Ega23 ©   (2006-02-20 15:07) [10]


> BDE, например.


При чём тут BDE?


 
Sergey13 ©   (2006-02-20 15:08) [11]

2[9] Asail   (20.02.06 15:05)
>BDE, например.
Чего BDE? Само спрашивает, само отвечает?


 
ForX   (2006-02-20 15:15) [12]


> Asail   (20.02.06 15:05) [9]
>
>
> > Sergey13 ©   (20.02.06 15:00) [8]
>
> BDE, например.


.Я где прочитал что в Акцесе, TQuery посылает запросы минуя BDE/
И подключается он к базе не через TADOConnection/


 
Ega23 ©   (2006-02-20 15:17) [13]


> .Я где прочитал что в Акцесе, TQuery посылает запросы минуя
> BDE/
> И подключается он к базе не через TADOConnection/


Почитай "где-то ещё". TQuery, TTable и TStoredProc работают ТОЛЬКО через BDE.


 
Sergey13 ©   (2006-02-20 15:18) [14]

2 [12] ForX   (20.02.06 15:15)
> .Я где прочитал что в Акцесе, TQuery посылает запросы минуя BDE/
И подключается он к базе не через TADOConnection/
Тогда он называется не TQuery, а TADOQuery


 
Asail   (2006-02-20 15:19) [15]

Спрашивет (в виде SQL-запроса) клиент, а результат высчитывает и передает обратно клиенту в виде результирующего НД - соответствующий BDE-драйвер (парадокса, например). См. LocalSQL.
Или я недопонимаю чего?


 
Ega23 ©   (2006-02-20 15:29) [16]


> а результат высчитывает и передает обратно клиенту в виде
> результирующего НД - соответствующий BDE-драйвер (парадокса,
>  например). См. LocalSQL.


Что касается парадокса - то может быть. А если это не парадокс, а, например, Oracle?


 
Sergey13 ©   (2006-02-20 15:36) [17]

2[15] Asail   (20.02.06 15:19)
>Спрашивет (в виде SQL-запроса) клиент, а результат высчитывает и передает обратно клиенту в виде результирующего НД - соответствующий BDE-драйвер (парадокса, например). См. LocalSQL.

Именно. Но при этом для файловых БД драйвер открывает файл(ы) и выбирает из него (из них) нужное. Все это происходит на клиенте. Для серверных БД драйвер просто передает запрос серверу, и тот уже (у себя) отбирает нужное и возвращает клиенту только результат.


 
Lexer ©   (2006-02-20 18:14) [18]

>Есть ли разница в использовании компонентов TTable. И TQuery с запросом SELECT *
Да есть, хотя бы например то, что Table делает 5 запросов вместо 1:

1. хочет убедиться, что выбранная нами таблица существует.
2. выбирает список полей выбранной таблицы, их названий, типов, условий проверки и т.п.
3.выбирает информацию об индексах указанной таблицы. Определяется, есть ли среди них первичный ключ, и по каким полям построены индексы.
4.почти повторяет второй, и выбирает информацию о полях - условия проверки, "вычисляемость" поля, допустимость NULL и прочее.
5.открывает таблицу, формируя запрос SELECT FIELD1, FIELD2, ... FROM TABLE ORDER BY PK_FIELD ASC.



Страницы: 1 вся ветка

Текущий архив: 2006.03.12;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.05 c
6-1132763970
Дмитрий_05
2005-11-23 19:39
2006.03.12
Ошибка при отправке ServerSocket-ом ClientSocket-у


2-1140442894
Pearled
2006-02-20 16:41
2006.03.12
Получить из имени класса сам класс


2-1140516533
bolbes
2006-02-21 13:08
2006.03.12
Квадрат


2-1140863417
Volfram
2006-02-25 13:30
2006.03.12
Microsoft Help Workshop


9-1111792617
Yegorchic
2005-03-26 02:16
2006.03.12
Русская документ по GLScene