![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Array в Firebird [D6, Win2k]
}|{yk © (2004-09-13 13:44:00)Как известно, IB/FB имеет поля, являющиеся массивами. Нормального доступа к ним из компонентов (IBX, FIBPlus) нет. Однако в dataset-ов как в IBX, так и в FIBPlus есть функция Current, возвращающая TIBXSQLDA. Из полученного объекта методом ByName можно получить TIBXSQLDA.ByName
TIBXSQLVAR любого поля. Однако как получить из этого объекта массив непонятно. В доке по IB API описывается функции для получения массива, но здесь, как мне кажется, их вызывать не нужно - у нас же у же есть значение поля в формате TIBXSQLVAR. Кто-нибудь решал эту проблему?
Digitman (2004-09-16 08:27:00) [1]
> Sergey_Masloff (15.09.04 21:22) [14]
> Я пробовал (давно с Delphi2).
эх тыыы ! вспомнила бабушка когда девушкой была)
мало ли там чего еще в Д2 не работало !
да и gpre был страшно сырой тогда ..
давай так - ты приведи код на EmbSQL, я его прогоню через FB1.5 gpre и верну сюда корректный Паскаль-результат
Sergey_Masloff (2004-09-15 21:22:00) [2]Digitman © (15.09.04 08:24) [13]
Ты пробовал? Я пробовал (давно с Delphi2). Не получилось. Можешь работающий пример? ;-) Интерес чисто академический.
Digitman (2004-09-15 08:24:00) [3]
> Sergey_Masloff (14.09.04 21:13) [11]
> А чего толку от gpre. С Delphi все равно ж работать не будет
чтой-то вдруг ?
утилитка эта в Паскаль всю embedded-галиматью превращает вполне успешно, и этого достаточно, чтобы чуть причесав вставить результирующий код в Делфи-проект и успешно откомпилировать
Ильш (2004-09-15 06:25:00) [4]брось каку
с массивами заморочишься, а потом в FB 2 их вообще отменят (к тому идет) и что далше?
Sergey_Masloff (2004-09-14 21:13:00) [5]Digitman © (14.09.04 12:40) [10]
А чего толку от gpre. С Delphi все равно ж работать не будет ;-)
Digitman (2004-09-14 12:40:00) [6]
> }|{yk
если приспичило побаловаться с полями-массивами, то не мучайся и задействуй EmbeddedSQL и утилиту gpre из состава серверного софта
jack128 (2004-09-14 12:08:00) [7]}|{yk © (14.09.04 11:53) [8]
Ну там описывается на С, и выборка в массив делается процедурно.
это много о чем говорит ;-) Код сюда приведи, а там будет видно..
}|{yk (2004-09-14 11:53:00) [8]Ну там описывается на С, и выборка в массив делается процедурно.
jack128 (2004-09-14 11:47:00) [9]}|{yk © (14.09.04 11:15) [6]
Ну у тя же дока по IB API, а не у меня ;-)
Я не знаю может ли ОТДЕЛЬНЫЙ элемент массива, а не все поле, иметь значение null, но если не может, то наверника sqldata - это просто указатель на последовательность чисел(или что у тя там за массив)
}|{yk (2004-09-14 11:15:00) [10]Но как? Там есть свойство sqldata имеющее тип PChar, что бы с ним делать?
jack128 (2004-09-13 23:09:00) [11]Sergey_Masloff (13.09.04 21:05) [3]
ага. и в DataDef.pdf прям так и написать "использовать только Боингу" :-))
jack128 (2004-09-13 23:06:00) [12]фибы вроде поддерживают массивы. А в ibx их, имхо, нужно вычленять из TIBXSQLVAR.AsXSQLVAR.
Sergey_Masloff (2004-09-13 21:05:00) [13]Не нужно с ними работать. Вообще. И Джим Старки считает так же
;-)
}|{yk (2004-09-13 15:42:00) [14]Да, действительно FIBPlus поддерживает массивы. Но к сожалению у меня сейчас нет этой библиотеки. А как же всё таки работать с TIBXSQLVAR?
Domkrat (2004-09-13 15:35:00) [15]Не решал, но читал в "Мир Interbase" Востриков, Ковязин, что
что FibPlus поддерживает array-поля.