![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TIBDataSet - последовательность действий. [D7, IB/FB]
_Ламер_ © (2006-09-13 22:41:00)Привет
Сижу, изучаю сабж. В книжке написано про InsertSQL ....RefreshSQL типа Tstrings. Это понятно. Есть также свойство StatementType. Т.е. мне надо выполнить запрос на выборку каких-то записей. Что я делаю. Применяю метод Close. В SelectSQL пишу свой запрос, в StatementType пишу SQLSelect. Open.
Почему так сложно? В ADO просто, как два байта. Зачем применять метод Edit и запрос писать в ModifySQL? Неужели нельзя было сделать как в TADODataSEt? Может можно лёгким движением руки сделать одновременно вставку, выборку, модификацию, удаление и обновление данных?
Что делает RefreshSQL? Аналог @@identity? В книжке написано мол выполняется запрос сразу после модификации записей и что это очень удобно. А что мне мешает этот запрос написать отдельно? И надо ли мне оно?
Может IBSQL хватит сполна?
ANB (2006-09-20 12:24:00) [1]
> а мы им еще и оракла подселим
Да не будет с ними ничего. Можно подумать FB сильно меньше кушает при работе.
Виталий Панасенко (2006-09-20 09:16:00) [2]
> ANB © (19.09.06 17:15) [47]
> > бесплатный вариант DB2
>
> Где взять ????? Хочу !!!
Ищи DB2 Express-C
_Ламер_ (2006-09-19 21:47:00) [3]Да я спрашивал про стабильность работы IBX с FB2. На работе поставил, сабж хотя бы коннектится. Уже хорошо.
PEAKTOP (2006-09-19 19:49:00) [4]> Проще 15 баксов заплатить и получать удовольствие...:-)
Это не наши методы :))) А развитие где ?
... У них (американцев) конструкторы собираются ! А развитие где ? Что-то подточить, что-то подсверлить, тут детальки нехватает, "папа, укради с завода и принеси"... (с) Михаил Задорнов
> Без проблем. 10XE нормально запашет
Запашет, запашет, никто не сомневается... Только вот быстро ли ? Там машинам и так тяжело, пыхтят бедные, а мы им еще и оракла подселим %)))
ANB (2006-09-19 17:15:00) [5]
> А мы туда всунем Оракл 10i. Гы-гы-гы ... :(
Без проблем. 10XE нормально запашет. Видел бы ты наши боевые сервера в МВ.
> бесплатный вариант DB2
Где взять ????? Хочу !!!
Виталий Панасенко (2006-09-19 16:23:00) [6]
> PEAKTOP © (19.09.06 16:04) [45]
>
> > IBX не гарантирует в отличии от ФИБОв поддержки ЖарПтицы
>
> А слабо самому "обработать напильником" ?
А смысл ? Проще 15 баксов заплатить и получать удовольствие...:-)
PEAKTOP (2006-09-19 16:04:00) [7]
> IBX не гарантирует в отличии от ФИБОв поддержки ЖарПтицы
А слабо самому "обработать напильником" ?
> Значит надо переходить на оракл. У него бесплатный и платный варианты мало чем отличаются.
хм. интересно.
а если задача - распределенная БД, с кучей (более 100) изолированных филиалов, с которых потом подгружаются данные в центральную базу, и на филиалах стоят ЭВМ вроде AMD Duron 600 + 128MB ОЗУ ?
А мы туда всунем Оракл 10i. Гы-гы-гы ... :(
Виталий Панасенко (2006-09-19 15:21:00) [8]Кроме кАнкретных ограничений в бесплатной версии. Наиболее менее ограничен в этом плане бесплатный вариант DB2 - там по крайней мере нет ограничения на размер пользовательских данных(в отличии от Оракла и Скалы)
ANB (2006-09-19 14:47:00) [9]
> В том, что ЖарПтица - бесплатный (пока ?) сервер,
Значит надо переходить на оракл. У него бесплатный и платный варианты мало чем отличаются.
Виталий Панасенко (2006-09-19 14:17:00) [10]
> _Ламер_ (19.09.06 14:02) [41]
>
> > atruhin © (14.09.06 13:22) [17]
> > > IBX-ы хороши своей примитивностью. В них есть все, что
>
> > необходимо.> Возможно, кому-то этого недостаточно. Они
>
> > не плохи, но в них нет поддержки FB 2, а сейчас это становится
>
> > актуально.
>
> А в чём это выражается?
В том, что ЖарПтица - бесплатный (пока ?) сервер, не уступающий(практически), а кой в чем и превосходящий по возможностям своего родителя - InterBase... А IBX не гарантирует в отличии от ФИБОв поддержки ЖарПтицы и InterBase, только последнее.Не, можно, конечно, и IB купить. Но цены глянь на www.ibase.ru на InterBase...
_Ламер_ (2006-09-19 14:02:00) [11]
> atruhin © (14.09.06 13:22) [17]
> > IBX-ы хороши своей примитивностью. В них есть все, что
> необходимо.> Возможно, кому-то этого недостаточно. Они
> не плохи, но в них нет поддержки FB 2, а сейчас это становится
> актуально.
А в чём это выражается?
Виталий Панасенко (2006-09-18 22:13:00) [12]
> _Ламер_ (18.09.06 21:17) [39]
> ОЙ %)
>
> Полазил по королевству делфи и всё прояснилось. Там так
> же, как и в ADO %)
>
> Осталось только придумать ситуацию, когда мне будет нужен
> IBDataSet ))
>
> Ну ладно, спасибо.
В тех же ситуациях(подобных), когда и ADODataSet -т.е. практически всегда.
Если, конечно, вместо
IBDataSet.Edit;
IBDataSet.FieldByName().AsXXX := Value
...
IBDataSet.Post;
хочется писать что-то типа:
IBSQL.ParamByName().Value := Value;
...
IBSQL.ExecSQL;
Или вместо IBDataSet.AppendRecord([Value1, Value2,...,ValueN]) использовать
IBSQL.ParamByName().AsXXX := Value1;
IBSQL.ParamByName().AsXXX := Value2;
...
IBSQL.ParamByName().AsXXX := ValueN;
IBSQL.ExecSQL;
и аналогично для все остальных вариантов(вместо просто IBDataSet.Delete писать IBSQL.ParamByName().Value := Value; IBSQL.ExecSQL;)
_Ламер_ (2006-09-18 21:17:00) [13]ОЙ %)
Полазил по королевству делфи и всё прояснилось. Там так же, как и в ADO %)
Осталось только придумать ситуацию, когда мне будет нужен IBDataSet ))
Ну ладно, спасибо.
_Ламер_ (2006-09-18 20:25:00) [14]Ладно, народ, не могу понять, как там передавать параметры?
Допустим, запрос
SELECT Name, ID FROM Equipments WHERE (parent=:prmID)
Как получить набор Name (string) и ID (integer)?
Как организовать передачу параметра prmID?
Ну хотя бы на примере IBSQL. Там есть классы TIBXSQLDA и TIBXSQLVAR - запутался. А книжки какие-то водянистые попались - толком не описано ни фига %(
Может статейки есть какие.
Виталий Панасенко (2006-09-18 16:23:00) [15]
> ANB © (18.09.06 16:11) [36]
Суть не в том. Суть в том, что человек вообще не понимает, набуя это все придумали...
ANB (2006-09-18 16:11:00) [16]
> Главное непонятное - при чем тут DLL или EXE ?!
> Да я компоненты в dll запихнул.
Я бы сказал, некоторая разница есть. В частности, очень легко сломать код, нормально работающий в экзешнике, при неаккуратном переносе в ДЛЛ, особливо при выключенном флаге "собирать с рантайм пакетами"
_Ламер_ (2006-09-18 15:26:00) [17]Да я компоненты в dll запихнул.
А компонентов типа DB* у меня совсем нема((
Виталий Панасенко (2006-09-18 09:52:00) [18]Поправка к
> DeleteSQL - удалить текущую запись в НД(после вызова Delete)
запись так же удаляется и на сервере
Виталий Панасенко (2006-09-18 09:30:00) [19]
> _Ламер_ (17.09.06 22:39) [32]
Ты так ничего из прочитанного и не понял...
SelectSQL - нужен ДЛЯ ОТОБРАЖЕНИЯ ДАННЫХ(в DBGrid/DBEdit/DBText и т.д.) И ДОСТУПА К ЗНАЧЕНИЯМ НД
UPdateSQL - для изменения данных на сервере(после Edit+POST)
RefreshSQL - для обновления данных, чтобы увидеть изменения, сделанные другим пользователем/сервером. Вызывается по вызову Refresh
DeleteSQL - удалить текущую запись в НД(после вызова Delete)
IsertSQL - вызывается после вставки новой записи в НД(Insert+Post/Append+Post/AppendRecord)
Главное непонятное - при чем тут DLL или EXE ?!
_Ламер_ (2006-09-17 22:39:00) [20]Как я понял, SelectSQL - это основной запрос, который непосредственно общается с СУБД, а все остальные - это дополнительные, которые общаются с DataSet-ом? Может тогда рано связался с dll? С exe начать изучение?
А вообще мне такая функциональность не нужна, в IBSQL есть всё, что мне нужно. Только не понял - с ХП умеет работать?
А неужели IBEvents так плох, что лучше не связываться?