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

Вниз

Что лучше использовать TTable или запросы SQL   Найти похожие ветки 

 
menart ©   (2004-02-27 16:58) [0]

Сечас начилась маленькая война! Я считаю, что проктически нет такой задачи которую нельзя решить через SQL! Кто против? Жду...


 
Игорь Шевченко ©   (2004-02-27 17:01) [1]

Сечас - сейчас
начилась - началась
проктически - практически

---
LMD


 
menart ©   (2004-02-27 17:03) [2]

Опечатки это мне кажется не главное в жизни!
Признаю с гуманитарием у меня всtulf была проблема, по мне у лучше точные науки!


 
Anatoly Podgoretsky ©   (2004-02-27 17:03) [3]

А вот причина, чтобы не было в отрыве от контекста
http://delphimaster.net/view/3-1077885349/


 
PVOzerski ©   (2004-02-27 17:04) [4]

прОктолог - специалист по болезням прямой кишки. Через это место и поимев геморроя, конечно, любую задачу можно решить не то что с помощью SQL - с помощью .bat - файлов :^) Но надо ли?


 
Курдль ©   (2004-02-27 17:04) [5]

"Достаточно ли вы ненавидете TTable?"  :)

TTable можно воспринимать, как простенький компонент, который полезно применять на начальном этапе изучения работы с БД. Но не более того! Ведь даже "Парадокс" и "Дбэйс" заслуживают какого-то уважения к себе, как к СУБД.


 
Юрий Зотов ©   (2004-02-27 17:04) [6]

> menart © (27.02.04 16:58)

Пожалуйста, поменяйте на SQL разрешение экрана.
Заранее спасибо.


 
PVOzerski ©   (2004-02-27 17:06) [7]

А если серьезно: ну зачем sql применять там, где не требуется ни работа с удаленным сервером, ни портируемость кода? Единственный аргумент "за" - наличие хороших готовых наработок.


 
PVOzerski ©   (2004-02-27 17:08) [8]

>Пожалуйста, поменяйте на SQL разрешение экрана.
>Заранее спасибо.
Вот "проктологическое" решение: пишем UDF, скажем, для mySQL, скажем, на Delphi, из него меняем разрешение экрана (на сервере, естественно, но это условиями задачи не оговаривалось) по sql-запросу с клиента.


 
menart ©   (2004-02-27 17:10) [9]


> Юрий Зотов ©  


смысл этого топика работа с БД, а не с API, всетречное предложение, поменять разрешение, поменять с помощью TTable.
Если это реализуемо, то ящик пива с меня :))


 
blackman ©   (2004-02-27 17:10) [10]

Хм :)
А слабо привести случаи, когда поможет только Table ?
Anatoly Podgoretsky - знает, что такие есть.


 
Юрий Зотов ©   (2004-02-27 17:15) [11]

> PVOzerski ©   (27.02.04 17:08) [8]

Простите, но задача ставилась о смене разрешения экрана на SQL. А не о выдаче на SQL команды посреднику.

Кстати, вот решение еще более простое, и даже позволяющее сменить разрешение экрана на рабочей станции - на SQL генерим сообщение юзеру и тот меняет разрешение экрана.

Ведь посредник-юзер ничем не хуже посредника-UDF, не так ли?
:о)


 
DiamondShark ©   (2004-02-27 17:16) [12]


> А если серьезно: ну зачем sql применять там, где не требуется
> ни работа с удаленным сервером, ни портируемость кода?

Это как это?
DBase. Или Paradox. Надо: сикока денег за прошлую неделю.
TTable, фильтр, и цикл по записям? Гы!


 
Юрий Зотов ©   (2004-02-27 17:20) [13]

> menart ©   (27.02.04 17:10) [9]

> смысл этого топика работа с БД, а не с API,

Вы сказали: "Я считаю, что проктически нет такой задачи которую нельзя решить через SQL".

> всетречное предложение, поменять разрешение, поменять с
> помощью TTable.


Запросто. Цепляюсь к любому событию TTable и в нем вытворяю все, что только пожелаю. Хоть экран меняю, хоть дяде Билли привет пошлю.

> Если это реализуемо, то ящик пива с меня :))

Когда и где прикажете получить?
:о)


 
PVOzerski ©   (2004-02-27 17:20) [14]

>DBase. Или Paradox. Надо: сикока денег за прошлую неделю.
TTable, фильтр, и цикл по записям? Гы!
Скорость бы сравнить для интереса...


 
wasilla ©   (2004-02-27 17:29) [15]

PVOzerski ©   (27.02.04 17:06) [7]

>А если серьезно: ну зачем sql применять там, где не требуется ни >работа с удаленным сервером, ни портируемость кода? Единственный >аргумент "за" - наличие хороших готовых наработок.

Бывает, сидиш голову ламаеш, чё энта SQL эррорами плюётся, казалось бы простую операцию делаеш.
Возьмёш Табла - два раза кликнеш - зашибись!


 
blackman ©   (2004-02-27 17:34) [16]

>Возьмёш Табла - два раза кликнеш - зашибись!
Нет сначала зашибись, потом уж два табла.


 
wasilla ©   (2004-02-27 17:49) [17]

>Нет сначала зашибись, потом уж два табла.
Ну это смотря как кликнеш, может и больше таблов выскочить...


 
Курдль ©   (2004-02-27 17:53) [18]


> А если серьезно: ну зачем sql применять там, где не требуется
> ни работа с удаленным сервером, ни портируемость кода?


Вы, когда уходите из дома, выключаете газ?
Если да, то нафига? Ведь у Вас наверняка нет газового счетчика!

Идеальный метод работы с БД - "поработал - отключись". TTable этим себя не озабочивает...


 
menart ©   (2004-02-27 17:53) [19]


> Юрий Зотов ©   (27.02.04 17:20) [13]

и в чем здесь помощь TTable? Имелось ввиду используя сам компонент а не события порожденые этим компонентом!
SQL все равно удобнее и рещить задачи с БД можно почти все не использую TTable! TTable нужен для работе с индексами, потому что в Query они реализованы кривовато! Вроде и все! А! Ну да! Для новичков не плохо, у меня даже есть проект лет пять назад написаный, там вообще все на TTable! Потом пришлось переписововать ч/з полгода, когда скорость стала очень низкая, а количество записей около 100,000!


 
Sergey13 ©   (2004-02-27 17:59) [20]

menart ©   (27.02.04 17:53) [19]
>TTable нужен для работе с индексами, потому что в Query они реализованы кривовато!
Сильно сказано. Уважаю. 8-)


 
Юрий Зотов ©   (2004-02-27 18:01) [21]

> menart ©   (27.02.04 17:53) [19]

> и в чем здесь помощь TTable?

В активации моего кода. Без этого он бы не выполнился.

> Имелось ввиду используя сам компонент а не события порожденые
> этим компонентом!

Вы сказали: "с помощью TTable". Я ТОЧНО так и сделал. Где мое честно заработанное пиво?
:о)


 
menart ©   (2004-02-27 18:03) [22]

Милости просим к нам в гости :) Будете у нас, всегда рады встретить, угостить пивом, пообщаться, поиграть в бильярд...


 
Marser ©   (2004-02-27 18:05) [23]


> Игорь Шевченко ©   (27.02.04 17:01) [1]
> Сечас - сейчас
> начилась - началась
> проктически - практически
>
> ---
> LMD

Шол фивраль-2004, И. Шевченко воивал с ламерами...


 
DiamondShark ©   (2004-02-27 18:08) [24]


> PVOzerski ©   (27.02.04 17:20) [14]
> >DBase. Или Paradox. Надо: сикока денег за прошлую неделю.
> TTable, фильтр, и цикл по записям? Гы!
> Скорость бы сравнить для интереса...


procedure TForm1.Button2Click(Sender: TObject);
var
 D1, D2: TDateTime;
 S: double;
 T: DWORD;
begin
 D1 := Now+1;
 D2 := D1 + 7;
 S := 0;
 T := GetTickCount;
 Table1.Open;
 Table1.Filter := "Field1 >= """+FormatDatetime("dd.mm.yyyy", D1)+""" and Field1 <= """+FormatDatetime("dd.mm.yyyy", D2)+"""";
 Table1.Filtered := true;
 Table1.First;
 while not Table1.Eof do
   begin
     S := Table1Field2.AsFloat;
     Table1.Next;
   end;
 T := GetTickCount - T;
 Edit1.Text := FloatToStr(S);
 Edit2.Text := IntToStr(T);
 Table1.Close;
end;

procedure TForm1.Button3Click(Sender: TObject);
var
 D1, D2: TDateTime;
 S: double;
 T: DWORD;
begin
 D1 := Now+1;
 D2 := D1 + 7;
 T := GetTickCount;
 Query1.Params[0].AsDateTime := D1;
 Query1.Params[1].AsDateTime := D2;
 Query1.Open;
 S := Query1Field2.AsFloat;
 T := GetTickCount - T;
 Edit3.Text := FloatToStr(S);
 Edit4.Text := IntToStr(T);
 Query1.Close;
end;


SQL: select sum(Field2) as Field2 from Test1 where Field1 >= :D1 and Field1 <= :D2

TTable 1833
TQuery 1653

Записей в диапазоне -- 1000
Всего записей -- 365000


 
Юрий Зотов ©   (2004-02-27 18:09) [25]

> Marser ©   (27.02.04 18:05) [23]

В два последних слова Вашего сообщения вкрались досадные ашипки. Следовало напесать так: "вАивал с ламИрами".


 
wasilla ©   (2004-02-27 18:14) [26]

>"вАивал с ламИрами". :))


 
DiamondShark ©   (2004-02-27 18:19) [27]


> Юрий Зотов ©   (27.02.04 18:09) [25]
> > Marser ©   (27.02.04 18:05) [23]
>
> В два последних слова Вашего сообщения вкрались досадные
> ашипки. Следовало напесать так: "вАивал с ламИрами".

и кто ево толька изыку учил


 
Anatoly Podgoretsky ©   (2004-02-27 18:38) [28]

PVOzerski ©   (27.02.04 17:06) [7]
PVOzerski ©   (27.02.04 17:20) [14]

Смысл есть, в последнее время использую только Tquery для запросов, TTable только для упаковки.

Основния следующие, работает быстрее, особенно если в результате запроса мало записей, TTable в случае с фильтром значительно медленне. Простота сортировки по клику на заголовки грид, в прямом и обратном направлении и другии мелочи.

В результате делаю только один индекс по ИД, что должно благоприятно отразиться на надежности.
Редактирование в обеих случаях в формах

Недостатки необходимость переоткрывать запрос после изменений, но до 10000 записей это быстро.

Еще один плюс, поскольку поддержка Фокспро очень плохая и с ошибками, то использование SQL улучшает работу с таблицей, а иногда надо читать таблицы фокспро. Замечена четкая ошибка в SetRange приводящая к зависанию.


 
Marser ©   (2004-02-27 19:47) [29]


> Юрий Зотов ©   (27.02.04 18:09) [25]
> > Marser ©   (27.02.04 18:05) [23]
>
> В два последних слова Вашего сообщения вкрались досадные
> ашипки. Следовало напесать так: "вАивал с ламИрами".

Ой прастити пожаласта!


 
Nous Mellon ©   (2004-02-27 20:36) [30]


>  [28] Anatoly Podgoretsky ©   (27.02.04 18:38)

Анатолий пачаму вы напясали ваш мессаге так не грамотный язык?
Учитись у нас! Вяликий и магучей!


 
Verg ©   (2004-02-27 20:44) [31]


> Замечена четкая ошибка в SetRange приводящая к зависанию.


Анатолий, а вот с этого места по-подробнее, пожалуйста.


 
Anatoly Podgoretsky ©   (2004-02-27 21:24) [32]

Известно, что фильтрацию можно сделать через фильтр или через диапазон. Через фильтр в несколько раз медленнее. Когда я стал использовать диапазон вместо фильтра у меня стали наблидаться плавающиие ошибки, зависание при установке диапазона или выдаче не всего диапазона. Иследования показали, что проблема при работе с диапазоном связана с кривой работой с индексами, поскольку же самый диапазон но реаличерез фильтр работал относительно устойчиво, на dBase проблем не наблюдалось. Но Борланд и не скрывает проблемы с Фокспро и не рекомендует использовать для какой либо полноценной работы иначе только как для чтения. Кроме того явные недоработки и с языком таблицы и индексами.
Я бы не стал заморачиваться с этим, но была насущная подребность работать с чужими таблицами FosPro 2.6, хорошо хоть кодировка (язык таблицы) был не 1251. Большинство таблиц с такой кодировкой вообще не открыть через драйвер Фокспро. Базы были расположены на сервере, сначала на Новеле 5, потом на НТ 4 (немного постабильнее работали).

Nous Mellon ©   (27.02.04 20:36) [30]
Потому что я использую слепой 21 пальцевый метод, но это не тот палец о котором подумали Вы.


 
Verg ©   (2004-02-27 21:34) [33]


> Anatoly Podgoretsky ©   (27.02.04 21:24) [32]


Т.е. речь идет про драйвера BDE Фокспро?
Я работал с SetRange только с Paradox. И до сих пор эти системы работают устойчиво. Поэтому меня и удивила такая Ваша "новость".


 
Anatoly Podgoretsky ©   (2004-02-27 21:41) [34]

Да это касается только стандартного драйвера ФоксПро, dBase нормально, Парадокс не знаю, поскольку не использую.
Для меня это тоже было новостью, на язык таблицы и кодировки я сразу нарвался. Но ФоксПро включен просто так от булды, лучше бы в таком виде они не делали


 
Nous Mellon ©   (2004-02-27 21:41) [35]


> Потому что я использую слепой 21 пальцевый метод, но это
> не тот палец о котором подумали Вы.

А с чяго Вы фсяли чта я а нем падумал?


 
Verg ©   (2004-02-27 21:48) [36]


> Nous Mellon ©   (27.02.04 21:41) [35]


Любая шутка смешна только один раз.


 
menart ©   (2004-02-28 13:05) [37]

Ну вот превратил ветку про базу данных, в ветку по проваписанию... Так не пойдет...



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

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

Наверх




Память: 0.57 MB
Время: 0.034 c
4-1069066970
Gilk
2003-11-17 14:02
2004.03.28
Показ главного окна запущенного приложения


14-1078216065
Kerk
2004-03-02 11:27
2004.03.28
Бойкот выборов


1-1078415118
Pa5ha
2004-03-04 18:45
2004.03.28
MainMenu


3-1077362113
Vitalik
2004-02-21 14:15
2004.03.28
окрегление чисел в гриде


1-1078931058
opoloxai
2004-03-10 18:04
2004.03.28
Directory Size