Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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-поля.


Наверх

Титульная страница Поиск, карта сайта Написать письмо