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

Вниз

В чем разница между IBSQL и IBQuery?   Найти похожие ветки 

 
DiLLeR   (2002-12-23 13:59) [0]

Вопрос вот в чем .. кто-нить может обьяснить в чем разница между IBSQL и IBQuery? ... учитывая то что гоняется чистый SQL то есть все запросы делаю руками и выполняю ... никаких датасетов и т.п. Потому как документация что с дельфей идет оставляет желать много лучьшего ...


 
Prooksius   (2002-12-23 14:01) [1]

IBSQL - для выполнения скриптов (несколько SQL команд)
IBQuery - для 1 команды


 
Alexandr   (2002-12-23 14:03) [2]

IBSQL твой результирующий датасет не хранит, а IBQuery хранит для отображения в гриде.
Соответственно навигация, редактирование и пр.
так что если тебе ничего этого не надо, то юзай IBSQL.
По-моему так...


 
DiLLeR   (2002-12-23 14:05) [3]

Prooksius © ... а можно чуть поподробнее??? ... то есть если выполняеш один select, update, insert or delete то в принципе все равно что использовать???


 
DiLLeR   (2002-12-23 14:08) [4]

Alexandr © ... а с точки зрения перфоманса??? ... не проверяли???


 
Alexandr   (2002-12-23 14:09) [5]

читайте маны. Они рулез.

Use a TIBSQL object to execute an InterBase SQL statement with minimal overhead. TIBSQL has no standard interface to data-aware controls and is unidirectional.


Use TIBQuery to access one or more tables in a database using SQL statements. Use query components with remote InterBase database servers and with ODBC-compliant databases.

Query components are useful because they can

• Access more than one table at a time (called a “join” in SQL).
• Automatically access a subset of rows and columns in its underlying table(s), rather than always returning all rows and columns.

Note: TIBQuery is of particular importance to the development of scalable database applications. If there is any chance that an application built to run against local databases will be scaled to a remote SQL database server in the future, use TIBQuery components from the start to ensure easier scaling later.


а неправда более подробной не бывает :(


 
Alexandr   (2002-12-23 14:10) [6]

перфо чего?
Ты уж определись, для чего тебе помпонент.
Для возвращения датасета? тогда IBDataSet или IBQuery
а если просто delete, update выполнить, ХП запустить, скриптик програнать тогда IBSQL, который уж точно не будет медленнее работать


 
Prooksius   (2002-12-23 14:11) [7]

2 DiLLeR (23.12.02 14:05)
В принципе да. Но только с select в IBSQL ты не увидишь результат запроса.
При Update, Delete, Insert - IMHO без разницы.


 
DiLLeR   (2002-12-23 14:32) [8]

Alexandr ©
Мне компонент нужен только чтобы исплнять SQL select, update, insert, delete и т.п. запросы могут быть очень навороченные ... щас этап проктирования ... и Я вот думаю что лучьше использовтаь как компонент доступа ... Данные из компонента получаю ручкми никаких DataSet пока не предвидится и думаю и не будет ... пока из той доки что на англицком склоняюсь, что использовать стоит IBQuery. В принципе Я его раньше использовал без пробьлем просто стало интересно в чем различие ...

Prooksius © ... почему не увижу результата select??? ... Вижу Я пробовал ... проблем особых не увидел ...


 
Alexandr   (2002-12-23 14:45) [9]

IBSQL не является наследником DataSet и этим в принципе все сказано.
Отсюда исключительная легкость, при малой функциональности. Впрочем и не нужной, в тех случаях где он применяется.


 
Prooksius   (2002-12-23 14:47) [10]

2 DiLLeR (23.12.02 14:32)

> почему не увижу результата select??? ...
> Вижу Я пробовал ... проблем особых не увидел ...

А через что ты видел? Что, к IBSQL можно DBGrid подключить?


> Данные из компонента получаю ручкми никаких DataSet пока
> не предвидится и думаю и не будет

Интересно, почему? Чем так плох DataSet?


 
DiLLeR   (2002-12-23 14:56) [11]

Alexandr © ... то есть если Я правиль понял там где гоняется чистый SQL притом возможно очень сложные запросы - IBSQL - самое место? То есть скажу чуть больше где нужно исполнять запросы характера insert, update, delete, alter и полуать данные из select ... Я правильно понял??? ...

Prooksius © ... нет нельзя DBGrid ... а зачем он Мне??? ... когда нужно гибко управлять данными DBGrid не подходит ... ну и потом не DBGrid"ом единым, Я предпочитаю получать данные в StringGrid - намного более гибкое решение ... правда там где оно надо ессно. Я не говорю что DataSet плох .. просто в проекте он не планируется использовтаься.


 
Alexandr   (2002-12-23 14:58) [12]

да, тогда тебе IBSQL будет самое то.


 
Delirium^.Tremens   (2002-12-23 15:02) [13]


> где гоняется чистый SQL

А в DataSet что же грязный можно гонять?

> полуать данные из select
IBSQL - не имеет интерфейса для DataAware controls и является unidirectional.
Короче, IBSQL нужен для выполнения разовых команд, скриптов и т.п., но не для получения данных.


 
Alexandr   (2002-12-23 15:04) [14]

можно его для получения данных использовать.
Не спорьте.
Но не dataset.
Т.е. без навигации. Ты же сам сказал unidirectional.

Удивительно, каждый хочет высказаться на тему, в которой очень слабо разбирается :)


 
Prooksius   (2002-12-23 15:05) [15]

2 DiLLeR (23.12.02 14:56)
Да действительно IBSQL возвращает курсор. Ты прав.
DataSet - нет, а вот курсор - да.


 
Alexandr   (2002-12-23 15:08) [16]

ну и вот.
А ему большего и ненадо.
А то вы ему щас насоветуете...

Вот пример:
есть таблица 100 записей по 1КБ
TIBQuery если вытянет ее всю, станет занимать 100КБ, а TIBSQL всегда 1КБ. Т.к. в нем нет буфера записей.
А если dataset и не нужет, то нафига его держать в TIBQuery.
Уж незнаю как еще популярнее объяснить


 
DiLLeR   (2002-12-23 15:15) [17]

Alexandr ©
Вы Мне еще одну вещь не подскажете ... нормально ли в IBSQL организована работа с BLOB ... в IBQuery юзал а тут еще не приходилось .. смотрел BatchInput и BatchOutput если Я правильно понимаю - это оно???


 
Delirium^.Tremens   (2002-12-23 15:24) [18]

2Alexandr ©>

> Удивительно, каждый хочет высказаться на тему, в которой
> очень слабо разбирается :)

Товарищ умник, TIBSQL действительно вернет ему некие данные в виде структуры XSQLDA, с которой еще нужно уметь обращаться. А судя по последнему вопросу, вы еще долго будете жалеть, что не наставили его на путь TIBQuery :-) :-) :-)


 
DiLLeR   (2002-12-23 15:30) [19]

Delirium^.Tremens © ... А в чем Вы видите отличия и преимущества??? ...


 
Delirium^.Tremens   (2002-12-23 15:33) [20]

Преимеущества я вижу там, где дается возможность быстро собрать приложение и получить за него деньги. Грубо, но это правда. К тому же на IBQuery все прекрасно будет работать.


 
DiLLeR   (2002-12-23 15:37) [21]

Delirium^.Tremens © ... Будет работать ... это Я знаю .. Я IBQuery юзал кучу раз и особых проблем не испытывал хотя и там не без глюков ... но ... если есть другой инструмент - то почему бы его тоже не знать ... позможэно он более мощный для конкретной задачи ... потому как в IBQuery - куча ненужной Мне функциональности ...

Кстати быстро создать приложение не всегда - хорошо создать приложения .. и разговор здесь сейчас идет именно о последнем ... иначе Я б его не начал ...


 
Delirium^.Tremens   (2002-12-23 15:46) [22]


> Кстати быстро создать приложение не всегда - хорошо создать
> приложения .. и разговор здесь сейчас идет именно о последнем
> ... иначе Я б его не начал ...

Об этом даже разговора нет. Кто же заплатит за "плохо". Но вот когда через год-другой возмущенные пользователи будут бегать с топорами и требовать изменений, а про портрошение XSQLDA давно забыто, вот тогда мы и поговорим что такое "хорошо" и что такое "плохо". Проще надо быть.


 
DiLLeR   (2002-12-23 15:54) [23]

Delirium^.Tremens ... что Вы понимаете под потрошением XSQLDA??? ... Я что - то не совсем понял .. если Вы имеете в виду получение оттуда данных и поренаправление их куда уже нужно будет ... то с этим проблем не встречал даже через год - другой.

ДБшные компоненты - проше ... но Я бы не сказал что лучьше .. гибкости у них нету ...


 
Delirium^.Tremens   (2002-12-23 16:06) [24]


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

О чем тогда спор, если это уже вошло в норму. Просто, лично я, предпочитаю использовать TIBSQL для разовых команд. Для получения же данных - то что прямо для этого предназначено. И если я поменяю движок, мне будет не очень больно, т.к. у меня есть надежда, что название методов и их результат будут (в основном) такими же.


 
DiLLeR   (2002-12-23 16:18) [25]

Delirium^.Tremens ... Я до этого работал только с IBQuery ... потому щас стало интересно что такое IBSQL .. с ним до этого не работал ... вот и интресуюсь ...


 
Delirium^.Tremens   (2002-12-23 16:32) [26]


> с этим проблем не встречал даже через год - другой

А как же насчет этого?


 
DiLLeR   (2002-12-23 16:34) [27]

На счет чего конкретно???

IBQuery??? ... Я не говорил что он плохой ... просто почитавши хелп дельфевый по IBSQL ... Мне показалось что возможно последний - будет лучьше подходить под нынешние задачи ...


 
Delirium^.Tremens   (2002-12-23 16:37) [28]


> Я что - то не совсем понял .. если Вы имеете в виду получение
> оттуда данных и поренаправление их куда уже нужно будет
> ... то с этим проблем не встречал даже через год - другой.

Мы что, здесь не о TIBSQL говорим?


 
DiLLeR   (2002-12-23 16:47) [29]

Delirium^.Tremens ... нет это Я говорил про IBQuery ... Я из него тоже через XSQLDA данные получаю ... в подавляющем большинстве задач ДБшные компоненты неприемлемы ... Сорри Я наверное не совсем ясно изьяснился ...


 
DiLLeR   (2002-12-24 12:51) [30]

Так что ... никто ничего не может добавить по данному вопросу???


 
Alexandr   (2002-12-24 13:56) [31]

а чего добавлять?
Уже все прозрачно и сказано по 3 раза


 
DiLLeR   (2002-12-24 14:01) [32]

Alexandr © ... Просто может кто - то еще выскажет свое Мнение по поводу? ... Я имею в виду о преимуществах и недостатках ... Я уже в принципе понял возможности обоих компонент ... может просто есть ньанся ... например работа с блоб полями в TIBSQL.

Всем принявшим участие в обсуждении бооольшое спасибо и Вам Alexandr © - лично.



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

Форум: "Базы";
Текущий архив: 2003.01.20;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.52 MB
Время: 0.009 c
3-62373
Che
2002-12-25 02:16
2003.01.20
Скоростььь


4-62922
Зинец Виктор
2002-12-04 14:25
2003.01.20
Как изменить ширину выпавшей части ComboBox-а?


14-62760
Pat
2003-01-04 18:05
2003.01.20
Экзамен по информатике. Теория


4-62945
Maniak
2002-12-06 15:49
2003.01.20
Как с помощью WinAPI узнать имя компьютера?


3-62414
Nikolai_S
2002-12-23 15:38
2003.01.20
Работа с MS Excel как с БД через ODBS





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский