Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2004.03.28;
Скачать: [xml.tar.bz2];

Вниз

Что лучше использовать 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.55 MB
Время: 0.043 c
14-1077963180
Алексей
2004-02-28 13:13
2004.03.28
Row Report где достать.


14-1077706250
Morg
2004-02-25 13:50
2004.03.28
Оптимальный вариант передачи данных


14-1078066922
Феликс
2004-02-29 18:02
2004.03.28
Вопрос по Excelю.


1-1078394264
nexxiss
2004-03-04 12:57
2004.03.28
Цвет


1-1078922901
Max
2004-03-10 15:48
2004.03.28
Как узнать, содержит ли строковая переменная дробное число.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский