Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.10.10;
Скачать: [xml.tar.bz2];

Вниз

Array в Firebird   Найти похожие ветки 

 
}|{yk ©   (2004-09-13 13:44) [0]

Как известно, IB/FB имеет поля, являющиеся массивами. Нормального доступа к ним из компонентов (IBX, FIBPlus) нет. Однако в dataset-ов как в IBX, так и в FIBPlus есть функция Current, возвращающая TIBXSQLDA. Из полученного объекта методом ByName можно получить TIBXSQLDA.ByName
TIBXSQLVAR любого поля. Однако как получить из этого объекта массив непонятно. В доке по IB API описывается функции для получения массива, но здесь, как мне кажется, их вызывать не нужно - у нас же у же есть значение поля в формате TIBXSQLVAR. Кто-нибудь решал эту проблему?


 
Domkrat ©   (2004-09-13 15:35) [1]

Не решал, но читал в "Мир Interbase" Востриков, Ковязин, что
что FibPlus поддерживает array-поля.


 
}|{yk ©   (2004-09-13 15:42) [2]

Да, действительно FIBPlus поддерживает массивы. Но к сожалению у меня сейчас нет этой библиотеки. А как же всё таки работать с TIBXSQLVAR?


 
Sergey_Masloff   (2004-09-13 21:05) [3]

Не нужно с ними работать. Вообще. И Джим Старки считает так же
;-)


 
jack128 ©   (2004-09-13 23:06) [4]

фибы вроде поддерживают массивы. А в ibx их, имхо, нужно вычленять из TIBXSQLVAR.AsXSQLVAR.


 
jack128 ©   (2004-09-13 23:09) [5]

Sergey_Masloff   (13.09.04 21:05) [3]
ага. и в DataDef.pdf прям так и написать "использовать только Боингу" :-))


 
}|{yk ©   (2004-09-14 11:15) [6]

Но как? Там есть свойство sqldata имеющее тип PChar, что бы с ним делать?


 
jack128 ©   (2004-09-14 11:47) [7]

}|{yk ©   (14.09.04 11:15) [6]
Ну у тя же дока по IB API, а не у меня ;-)

Я не знаю может ли ОТДЕЛЬНЫЙ элемент массива, а не все поле, иметь значение null, но если не может, то наверника sqldata - это просто указатель на последовательность чисел(или что у тя там за массив)


 
}|{yk ©   (2004-09-14 11:53) [8]

Ну там описывается на С, и выборка в массив делается процедурно.


 
jack128 ©   (2004-09-14 12:08) [9]

}|{yk ©   (14.09.04 11:53) [8]
Ну там описывается на С, и выборка в массив делается процедурно.

это много о чем говорит ;-)  Код сюда приведи, а там будет видно..


 
Digitman ©   (2004-09-14 12:40) [10]


> }|{yk


если приспичило побаловаться с полями-массивами, то не мучайся и задействуй EmbeddedSQL и утилиту gpre из состава серверного софта


 
Sergey_Masloff   (2004-09-14 21:13) [11]

Digitman ©   (14.09.04 12:40) [10]
А чего толку от gpre. С Delphi все равно ж работать не будет ;-)


 
Ильш   (2004-09-15 06:25) [12]

брось каку
с массивами заморочишься, а потом в FB 2 их вообще отменят (к тому идет) и что далше?


 
Digitman ©   (2004-09-15 08:24) [13]


> Sergey_Masloff   (14.09.04 21:13) [11]
> А чего толку от gpre. С Delphi все равно ж работать не будет


чтой-то вдруг ?
утилитка эта в Паскаль всю embedded-галиматью превращает вполне успешно, и этого достаточно, чтобы чуть причесав вставить результирующий код в Делфи-проект и успешно откомпилировать


 
Sergey_Masloff   (2004-09-15 21:22) [14]

Digitman ©   (15.09.04 08:24) [13]
Ты пробовал? Я пробовал (давно с Delphi2). Не получилось. Можешь работающий пример? ;-) Интерес чисто академический.


 
Digitman ©   (2004-09-16 08:27) [15]


> Sergey_Masloff   (15.09.04 21:22) [14]



> Я пробовал (давно с Delphi2).


эх тыыы ! вспомнила бабушка когда девушкой была)
мало ли там чего еще в Д2 не работало !
да и gpre был страшно сырой тогда ..

давай так - ты приведи код на EmbSQL, я его прогоню через FB1.5 gpre и верну сюда корректный Паскаль-результат



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2004.10.10;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.034 c
3-1095238218
Medik
2004-09-15 12:50
2004.10.10
INNER JOIN, OUTER JOIN


14-1095669349
BiN
2004-09-20 12:35
2004.10.10
Вечная жизнь


1-1096207072
UserUserov
2004-09-26 17:57
2004.10.10
Заголовок формы


6-1091435529
Alex_2004
2004-08-02 12:32
2004.10.10
Сетевое имя компьютера


4-1094556875
Apolo
2004-09-07 15:34
2004.10.10
Обмен данными между двумя программами через SendMessage





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский