Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-02-2009
fidel fidel is offline
Miembro
 
Registrado: mar 2005
Posts: 381
Poder: 22
fidel Va por buen camino
Supongo que lo que te dice Durbed funciona, si no prueba con

CARACTER SET DOS850
COLLATE DB_PT850

en FireBird 1 ordena según el orden latino internacional que es el correcto actualmente para el español.
Responder Con Cita
  #2  
Antiguo 26-02-2009
Avatar de Manuel
Manuel Manuel is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz/Chile
Posts: 324
Poder: 24
Manuel Va por buen camino
Gracias Fidel

Lo intente lo que pasa que ya tengo con datos la base y cuando le asigno el dominio a un campo me borra la data.
__________________
Manuel Muñoz L. Trabajando con delphi 7.0 , migrando sistema a Delphi XE8, matando BDE y pasando FIREDAC.
Responder Con Cita
  #3  
Antiguo 27-02-2009
fidel fidel is offline
Miembro
 
Registrado: mar 2005
Posts: 381
Poder: 22
fidel Va por buen camino
Tendrás que crear una tabla nueva con otro nombre y los mismos campos definidos con CARACTER SET DOS850 COLLATE DB_PT850, pasar a esta nueva tabla todos los datos, borrar la original y renombrar la nueva con el nombre original.
Si te conectas con un IBDatabase, en su caracter set debes poner ISO8859_1 para que visualice bien la ñ, ç, vocales acentuadas, etc.

.....

Por otra parte, he observado que en la versión 2 de FireBird con CARACTER SET ISO8892_1 y COLLATE ES_ES ya ordena bien según el orden latino internacional (el correcto), pero no lo hace igual con las tildes cuando el ordenamiento es a un campo que cuando es a dos campos.

Si lo hago a dos campos APELLIDO1, APELLIDO2 y me dejo la tilde en algún Martínez me ordena así.

Martinez Abad
Martinez Ruiz
Martínez Pérez
Martínez Ruiz

en cambio si tengo un solo campo APELLIDOS ordena bien aunque en algún Martínez se me olvide la tilde

Martinez Abad
Martínez Pérez
Martinez Ruiz
Martínez Ruiz

De todas formas esto supongo que se evita haciendo lo que dice ElKurgan.
Responder Con Cita
  #4  
Antiguo 02-03-2009
Avatar de Manuel
Manuel Manuel is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz/Chile
Posts: 324
Poder: 24
Manuel Va por buen camino
Otra consulta

Con la siguiente query creo dominios:

Código SQL [-]
CREATE DOMAIN TWC_NOMBRE AS VARCHAR(60) CHARACTER SET WIN1252 COLLATE PXW_SPAN
Y con esto creo campos en una table
Código SQL [-]
alter table alumnosadd campo1 char(30)
ahora como creo ese mismo campo asignandole el dominio creado más arriba.
__________________
Manuel Muñoz L. Trabajando con delphi 7.0 , migrando sistema a Delphi XE8, matando BDE y pasando FIREDAC.
Responder Con Cita
  #5  
Antiguo 02-03-2009
Avatar de Durbed
Durbed Durbed is offline
Miembro
 
Registrado: ago 2004
Posts: 166
Poder: 22
Durbed Va por buen camino
Código SQL [-]
ALTER TABLE ALUMNOSADD
ADD CAMPO1 TWC_NOMBRE
COLLATE PXW_SPAN

TWC_NOMBRE es el nombre que les doy yo, donde TWC es un identificador del nombre de la aplicación que usa la base de datos , es decir, que puedes poner el nombre que quieras.
__________________
Intentando hacer algo con Delphi 7 y Firebird 1.5
Responder Con Cita
  #6  
Antiguo 02-03-2009
Avatar de Manuel
Manuel Manuel is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz/Chile
Posts: 324
Poder: 24
Manuel Va por buen camino
Gracias Durbed

Ha sido de gran ayuda
__________________
Manuel Muñoz L. Trabajando con delphi 7.0 , migrando sistema a Delphi XE8, matando BDE y pasando FIREDAC.
Responder Con Cita
  #7  
Antiguo 15-03-2009
Avatar de Manuel
Manuel Manuel is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz/Chile
Posts: 324
Poder: 24
Manuel Va por buen camino
Usuario me reportado error

Cita:
Empezado por fidel Ver Mensaje
Tendrás que crear una tabla nueva con otro nombre y los mismos campos definidos con CARACTER SET DOS850 COLLATE DB_PT850, pasar a esta nueva tabla todos los datos, borrar la original y renombrar la nueva con el nombre original.
Si te conectas con un IBDatabase, en su caracter set debes poner ISO8859_1 para que visualice bien la ñ, ç, vocales acentuadas, etc.

.....

Por otra parte, he observado que en la versión 2 de FireBird con CARACTER SET ISO8892_1 y COLLATE ES_ES ya ordena bien según el orden latino internacional (el correcto), pero no lo hace igual con las tildes cuando el ordenamiento es a un campo que cuando es a dos campos.

Si lo hago a dos campos APELLIDO1, APELLIDO2 y me dejo la tilde en algún Martínez me ordena así.

Martinez Abad
Martinez Ruiz
Martínez Pérez
Martínez Ruiz

en cambio si tengo un solo campo APELLIDOS ordena bien aunque en algún Martínez se me olvide la tilde

Martinez Abad
Martínez Pérez
Martinez Ruiz
Martínez Ruiz

De todas formas esto supongo que se evita haciendo lo que dice ElKurgan.
Como lo ha dicho fidel, hay problemas con los tíldes, usuarios me han reportado el siguiente problema en el orden alfabético.

Coloma Iturriaga Sebastián
Contreras Pérez Miguel
Chinni Aylwin Francisca
incluso cuando el orden lo realizo por el primer apellido
__________________
Manuel Muñoz L. Trabajando con delphi 7.0 , migrando sistema a Delphi XE8, matando BDE y pasando FIREDAC.
Responder Con Cita
  #8  
Antiguo 15-03-2009
fidel fidel is offline
Miembro
 
Registrado: mar 2005
Posts: 381
Poder: 22
fidel Va por buen camino
Cita:
Coloma Iturriaga Sebastián
Contreras Pérez Miguel
Chinni Aylwin Francisca
En este caso el problema no es el acento, es la Ch que la ordena después de la C y no según el orden latino internacional.

Si usas InterBase 6 usa CARACTER SET DOS850 COLLATE DB_PT850
Responder Con Cita
  #9  
Antiguo 16-03-2009
Avatar de Manuel
Manuel Manuel is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz/Chile
Posts: 324
Poder: 24
Manuel Va por buen camino
Cita:
Empezado por fidel Ver Mensaje
En este caso el problema no es el acento, es la Ch que la ordena después de la C y no según el orden latino internacional.

Si usas InterBase 6 usa CARACTER SET DOS850 COLLATE DB_PT850
AL CREAR ESTE DOMINIO DA UN ERROR,

CREATE DOMAIN TWC_APELLIDOS_NEW AS VARCHAR(25) CHARACTER SET DOS850 COLLATE DB_PT850
__________________
Manuel Muñoz L. Trabajando con delphi 7.0 , migrando sistema a Delphi XE8, matando BDE y pasando FIREDAC.
Responder Con Cita
  #10  
Antiguo 16-03-2009
fidel fidel is offline
Miembro
 
Registrado: mar 2005
Posts: 381
Poder: 22
fidel Va por buen camino
Cuando tuve yo este problema hice estas anotaciones:

Se crea la base de datos con CARACTER SET DOS850
▸ Los campos VarChar con CARACTER SET DOS850 y COLLATE DB_PTB850
▸ Los campos Memo se puede dejar CARACTER SET ISO_8859_1
▸ Al hacer la conexión a la base de datos, ya sea con IBExpert o en las aplicaciones con el componente TIBDatabase se pone CARACTER SET ISO_8859_1, y con esto se ordena correctamente y se ven bien todos los caracteres (si se conecta con CaracterSet DOS850 los caracteres con ascii no estandar no se ven como son).

Por lo tanto puede ser que tengas que crear la tabla con CARACTER SET DOS850

De todas formas yo creo las tablas y campos antes con IBExpert, no en ejecución.

El problema si tienes que crear nuevas tablas es que tendrías que pasar a las nuevas todos los datos que ya tienes, y merecerá o no la pena dependiendo de lo importante que sea que ordene bien, a veces es fundamental, sobre todo cuando hay por medio asuntos legales que cuando hay errores pueden dar lugar a reclamaciones judiciales.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Orden Alfabético en QuickReport silver07 Impresión 4 23-10-2007 16:30:40
Orden alfabetico y no actual de los sheet(hojas) en excel mariano_9 Varios 0 20-04-2007 20:56:43
Clausula order by C1, C2 desc Jack Firebird e Interbase 3 05-11-2004 20:29:22
Problemas con el orden alfabetico... mauriciorazquin Tablas planas 1 08-10-2003 17:51:03
Orden alfabético en español Tomás Firebird e Interbase 3 05-06-2003 21:42:49


La franja horaria es GMT +2. Ahora son las 09:32:55.


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