У чому різниця між IBSQL та IBQuery

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

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

IBSQL твій результуючий датасет не зберігає, а IBQuery зберігає для відображення у гриді. Відповідно навігація, редагування та ін. так що якщо тобі нічого цього не треба, то юзай IBSQL. Здається так.

читайте мани. Вони кермо.

Використовуйте TIBSQL об'єкт для виконання в InterBase SQL statement with minimal overhead. TIBSQL не має стандартного зв'язку до параметрів data-aware і є unidirectional.

Використовуйте TIBQuery для доступу до одного або більше tables в Database з використанням SQL statements. Використовуйте потрібні компоненти з 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), інші не повинні відновлювати all rows і columns.

Note: TIBQuery є особливим важливим значенням для розвитку широких програм 데이터베이스. Якщо є будь-яка зміна того, що application built to run against local databases will be scaled to remote SQL database server in the future, use TIBQuery components from the start to ensure easier scaling later.

а неправда докладнішою не буває :(

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

2 DiLLeR (23.12.02 14:05) У принципі так. Але тільки з select в IBSQL ти не побачиш результату запиту. При Update, Delete, Insert - IMHO не має значення.

IBSQL не є спадкоємцем DataSet і цим у принципі все сказано. Звідси виняткова легкість, за малої функціональності. Втім і не потрібною, в тих випадках, де він застосовується.

2 DiLLeR (23.12.02 14:32)> чому не побачу результату select. . > Я пробував. проблем особливих не побачив.А через що ти бачив? Що, до IBSQL можна підключити DBGrid?

> Дані з компонента отримую ручками ніяких DataSet доки > не передбачається і думаю і не будеЦікаво, чому? Чим такий поганий DataSet?

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

> де ганяється чистий SQLА в DataSet що ж брудний можна ганяти?> одержувати дані з selectIBSQL - немає інтерфейсу для DataAware controls і є unidirectional. Коротше, IBSQL потрібен для виконання разових команд, скриптів тощо, але не для отримання даних.

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

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

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

ну і ось. А йому більшого і не треба. А то ви йому зараз нарадите.

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

Переваги я бачу там, де дається можливість швидко зібрати програму та отримати за неї гроші. Грубо, але це правда. До того ж на IBQuery все чудово працюватиме.

До речі швидко створити програму не завжди - добре створити програми .. і розмова тут зараз йде саме про останню. інакше Я б його не почав.

> До речі, швидко створити програму не завжди - добре створити > додатки .. і розмова тут зараз йде саме про останні > . інакше Я б його не почав.Про це навіть розмови немає. Хто ж заплатить за погано. Але коли через рік-другий обурені користувачі будуть бігати з сокирами і вимагати змін, а про портрошення XSQLDA давно забуто, ось тоді ми і поговоримо що таке "добре" і що таке "погано". Простіше треба бути.

Delirium ^. Tremens. що Ви розумієте під потрясінням XSQLDA. . Я щось не зовсім зрозумів .. якщо Ви маєте на увазі одержання звідти даних і попрямування їх куди вже потрібно буде . то із цим проблем не зустрічав навіть через рік – інший.

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

> . то з цим проблем не зустрічав навіть через рік - іншийПро що тоді суперечка, якщо це вже увійшло до норми. Просто, особисто я, волію використовувати TIBSQL для разових команд. Для отримання даних - те що прямо для цього призначено. І якщо зміню двигун, мені буде дуже боляче, т.к. у мене є надія, що назва методів та їх результат будуть (в основному) такими самими.

Delirium ^. Tremens. Я до цього працював лише з IBQuery. тому зараз стало цікаво що таке IBSQL .. з ним до цього не працював . ось іцікавлюся.

> із цим проблем не зустрічав навіть через рік – іншийА як же щодо цього?

На рахунок чого саме.

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

> Я щось не зовсім зрозумів .. якщо Ви маєте на увазі отримання > звідти даних і поренаправлення їх куди вже потрібно > . то із цим проблем не зустрічав навіть через рік – інший.Ми що, тут не про TIBSQL говоримо?

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

Так що . ніхто нічого не може додати з цього питання.

а чого додавати? Вже все прозоро і сказано по 3 рази