Ver Mensaje Individual
  #6  
Antiguo 14-07-2017
Avatar de gatosoft
[gatosoft] gatosoft is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Bogotá, Colombia
Posts: 833
Reputación: 21
gatosoft Va camino a la fama
No es "tan complejo" como utilizar BLOBS, finalmente, si no tienes a la mano un componente que te soporte el tipo de dato, puesde hacer funciones que te ayuden a soportarlo...

Cuando hagas tu consulta SQL utilizas la funcion array_to_string de PG, y para recuperarlo implementas una funcion como:

Código Delphi [-]
//(pesudocodigo)
function getArray(Texto: String): String
var
  sl: TStringList;
begin
  try
  sl := TStringList.Create;  
  sl.Delimiter := ',';
  sl.DelimitedText := Texto;
  Result:= sl.text;
finally
  sl.free;
end;
end;

El anterior codigo te devuelve el texto de un TStringList, puedes recorrelo como un vetor y manipular la info (convertida a texto)

una vez hayas editado tu stringlist, puedes guardarlo mediante SQL utilizando la funcion string_to_array de pg

Código SQL [-]
Update tabla
set campoArray = string_to_array(......:Texto)

en delphi harias algo como:

Código Delphi [-]
//para recuperar la lista
MyLista.Text := getArray(Query.Fieldbyname('CampoArrayConvertidoATexto').AsString);

//editas la lista y la guardas:

Query.SQL.text:= 'Update tabla set campoArray = string_to_array(......:Texto)';
Query.Parambyname('Texto').asString:=MyLista.DelimitedText;

Algo asi mas o menos... No deberia ser un problema.

PgAdmin, hace una traduccion similar en su GUI para que puedas visualizar el dato como texto... pero eso no quiere decir que el tipo de dato sea precisamente texto.

Saludo,
Responder Con Cita