Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-03-2013
vientos vientos is offline
Miembro
 
Registrado: dic 2004
Posts: 14
Poder: 0
vientos Va por buen camino
Quitar Espacios en Blanco en los Valores de un Query

Hola Amigos,

Tengo un problema y acudo a ustedes para ver si pueden orientarme, estoy pasando registros de una base de datos de Firebird .GDB a una copia de esta misma hecha en PostgreSQL, para lo cual desarrolle una herramienta de traspaso de todos los registros, hasta aquí todo va muy bien, pero resulta que algunas cadenas se insertan en la base de datos de PostgreSQL con espacios en blanco al final, lo cual provoca que al consultar los datos no todos los registros buscados coincidan por esos espacios al final.

Cabe Mencionar que en la base de datos de Firebird no estan esos espacios en blanco al final y aquí las búsquedas en los registros funcionan perfectamente podrían ayudarme a como quitarle a los valores del query esos espacios en blanco al final?

Aquí pongo mí código:
Código Delphi [-]
 Fmodulo05.qry_AbrirCalificacionesU.First;
           while not Fmodulo05.qry_AbrirCalificacionesU.Eof do
                 begin

                    //avanzamos progress bar por tabla
                    FProgresTransf.LTransferencia.Caption:= 'Transfiriendo tabla Calificaciones';
                    FProgresTransf.Update;
                    with FProgresTransf.PBProgreso do
                       begin
                            Min := 1;
                            Max := Fmodulo05.qry_AbrirCalificacionesU.RecordCount;
                            for posicion := Min to Max do
                                begin
                                    Position := posicion;

                   Fmodulo05.qry_InsertCalificacionesU.Close;
                   Fmodulo05.qry_InsertCalificacionesU.Prepare;
                   Fmodulo05.qry_InsertCalificacionesU.ParamByName('ciclo').AsInteger:=(Fmodulo05.qry_AbrirCalificacion  esUCiclo.Value);
                   Fmodulo05.qry_InsertCalificacionesU.ParamByName('subciclo').AsInteger:=(Fmodulo05.qry_AbrirCalificac  ionesUSubCiclo.Value);
                   Fmodulo05.qry_InsertCalificacionesU.ParamByName('departamento').AsString:=(Fmodulo05.qry_AbrirCalifi  cacionesUDepartamento.Value);
                   Fmodulo05.qry_InsertCalificacionesU.ParamByName('matricula').AsString:=(Fmodulo05.qry_AbrirCalificac  ionesUMatricula.Value);
                   Fmodulo05.qry_InsertCalificacionesU.ParamByName('asignatura').AsString:=(Fmodulo05.qry_AbrirCalifica  cionesUAsignatura.Value);
                   Fmodulo05.qry_InsertCalificacionesU.ParamByName('aspecto').AsInteger:=(Fmodulo05.qry_AbrirCalificaci  onesUAspecto.Value);
                   Fmodulo05.qry_InsertCalificacionesU.ParamByName('evaluacion').AsString:=(Fmodulo05.qry_AbrirCalifica  cionesUEvaluacion.Value);
                   Fmodulo05.qry_InsertCalificacionesU.ParamByName('valor').AsFloat:=(Fmodulo05.qry_AbrirCalificaciones  UValor.Value);
                   Fmodulo05.qry_InsertCalificacionesU.ExecSQL;

                                     contador:=contador+1;
                                     FProgresTransf.LContador.Caption:=IntToStr(contador);
                                     FProgresTransf.Update;
                                     Fmodulo05.qry_AbrirCalificacionesU.Next;

                                end;
                       end;
                 end;

De antemano agradezco sus atenciones

Saludos
Responder Con Cita
  #2  
Antiguo 06-03-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Usa rpad, aunque el problema será que has declarado los campos en postgresql como char de longitud fija, en lugar de varchar.

Cita:
RPAD()

Available in: DSQL, PSQL
Added in: 2.1
Changed in: 2.5 (backported to 2.1.4)
Description: Right-pads a string with spaces or with a user-supplied string until a given length is reached.
Result type: VARCHAR or BLOB
Syntax:
RPAD (str, endlen [, padstr])
  • This function fully supports text BLOBs of any length and character set.
  • If str is a BLOB, the result is a BLOB. Otherwise, the result is a VARCHAR(endlen).
  • If padstr is given and equals '' (empty string), no padding takes place.
  • If endlen is less than the current string length, the string is truncated to endlen, even if padstr is the empty string.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Quitar espacios en blanco de un archivo.txt en DELPHI Yoana Varios 1 14-10-2011 21:21:37
quitar espacios en blanco de un string rmnart Varios 4 21-12-2009 15:24:32
Eliminar espacios en blanco juanchi SQL 9 13-06-2008 15:47:02
SQL y los espacios en blanco fide SQL 5 11-02-2008 23:44:34
Quitar espacios en blanco Javier_A OOP 3 09-06-2004 10:29:27


La franja horaria es GMT +2. Ahora son las 19:04:29.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi