Форум: "Базы";
Текущий архив: 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