Текущий архив: 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.55 MB
Время: 0.028 c