|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Запись массива из БД в переменную и обратно
Добрый день,
Не могу нигде найти как записать массив целых чисел из базы данных в локальную переменнную и обратно используя TFDQuery. Все манипуляции не работают: var arr: Array of integer; arr:=FDQuery1.FieldByName('Numbers').Value; arr:=FDQuery1.FieldValues('Numbers'); Может кто знает? |
#2
|
|||
|
|||
А какой тип поля и что в нем хранится?
Ну или приведи код записи в это поле... |
#3
|
|||
|
|||
Как я уже писал ранее, тип переменной в базе данных PostgreSQL это массив целых чисел, то есть integer[], кода как такового нету, по той причине что я не знаю как «получить» этот массив из базы и присвоить его переменной. Я всегда пользовался методом например FieldByName(‘filedname’).AsInteger , но в данном случае он не работает, массив вытянуть не возможно.
|
#4
|
||||
|
||||
Так может там просто строка чисел с разделителем хранится, а не массив целых чисел, как Вы написали? Ибо "тип переменной в базе данных PostgreSQL это массив целых чисел, то есть integer[]" я такого не знаю. И судя из документации, такого и нет.
Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете. |
#5
|
|||
|
|||
Цитата:
Как это нету? https://www.postgresql.org/docs/9.2/arrays.html В PostreSQL Integer: это переменная целого числа, Integer[5] это уже массив из 5 целых чисел, Integer [5][5] это уже двумерный масив и т.д. и так со многими остальными типами данных. Последний раз редактировалось pegus, 02.08.2019 в 15:42. |
#6
|
||||
|
||||
Цитата:
|
#7
|
|||
|
|||
Цитата:
Отказаться от массивов. Использовать blob, или обычные, скалярные типы полей таблицы. Вариант 2. Работать с элементами массива по отдельности: Код:
select Numbers[1] as Numbers_1, Numbers[2] as Numbers_2 from MyTable; Код:
arr[0]:=FDQuery1.FieldByName('Numbers_1').AsInteger; arr[1]:=FDQuery1.FieldByName('Numbers_2').AsInteger; Вариант 3. FireDAC.PostgreSQL Arrays Sample This sample demonstrates how to use the TFDParam.ArrayType property to send arrays to a PostgreSQL database server using FireDAC. http://docwiki.embarcadero.com/CodeE..._Arrays_Sample |