Club Delphi  
    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 14-05-2003
ebeltete ebeltete is offline
Miembro
 
Registrado: may 2003
Posts: 236
Poder: 21
ebeltete Va por buen camino
problemas con las ñ

tengo problemas con las eñes en la siguiente sql de un tquery
select titu.*, interpre.nombre as interp, rubros.rubro, clientes.razonsoc from "titu.db" titu
left join "interpre.db" interpre on titu.interprete=interpre.codigo
left join "clientes.db" clientes on titu.cliente=clientes.codigo
left join "rubros.db" rubros on titu.rubro=rubros.codigo
where LOWER(titu.nombre) like :nombre and LOWER(interpre.nombre) like :interprete order by interpre.nombre

las eñes de la tabla titu me aparecen bien pero las que tengo en la tabla interpre me parecen como '#' , porque pasa esto?
Gracias
Responder Con Cita
  #2  
Antiguo 14-05-2003
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Posteado originalmente por ebeltete
tengo problemas con las eñes en la siguiente sql de un tquery

[...]

las eñes de la tabla titu me aparecen bien pero las que tengo en la tabla interpre me parecen como '#' , porque pasa esto?
Gracias
No especificas que base de datos usas pero al menos en Paradox eso sucede por el lenguaje de la tabla: cuando creas la tabla puedes escoger el lenguaje (o sea el tipo de caracteres que se utilizarán) Revísale por ahí. Desafortunadamente, si el problema está en la tabla, aunque puedes cambiarle el lenguaje, ya habrás perdido las eñes, acentos y demás. Claro que te puedes hacer un programita para sustituir los # por ñ.

También puede pasar (quizá no porque parece que sólo esa tabla te da problemas) que aunque la tabla muestre correctamente los caracteres (abriéndola con el Database Desktop por ejemplo), la configuración global de Paradox (la ves con el BDE Admin) tenga el lenguaje incorrecto y presenta los resultados de las consultas con caracteres incorrectos.

Esto último no sé bien cómo se resuelve ya que alguna vez intenté cambiar el lenguaje en la configuración global y aún así me seguía cambiando las eñes.

De cualquier forma la cosa anda por ahí, en el lenguaje de las tablas.

// Saludos
Responder Con Cita
  #3  
Antiguo 15-05-2003
ebeltete ebeltete is offline
Miembro
 
Registrado: may 2003
Posts: 236
Poder: 21
ebeltete Va por buen camino
Gracias por tu ayuda, pero detecte que el problema es en la tabla que esta despues del "left join", por ejemplo:

si hago la consulta de la siguiente manera:
select * from "titu.db" titu
left join "interpre.db" interpre on titu.interprete=interpre.codigo
where LOWER(titu.nombre) like :nombre and LOWER(interpre.nombre) like :interprete order by interpre.nombre
el problema con las ñ lo tengo en la tabla interpre.

Si la consulta la hago de la manera siguiente:
select * from "interpre.db" interpre
left join "titu .db" titu on titu.interprete=interpre.codigo
where LOWER(titu.nombre) like :nombre and LOWER(interpre.nombre) like :interprete order by interpre.nombre
el problema con las ñ lo tengo en la tabla titu.

O sea que la tabla que esta despues del "from" me aparece bien sea cual sea la tabla, pero cuando a la misma tabla la pongo en el left join me aparece mal la ñ.

Las tablas son Paradox y tengo bien el lenguaje, tanto el global en el BDE como el de la tabla (Pdox ANSI Spanish), desde ya muchas gracias y espero poder resolver el problema.
Responder Con Cita
  #4  
Antiguo 15-05-2003
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Posteado originalmente por ebeltete
[b]O sea que la tabla que esta despues del "from" me aparece bien sea cual sea la tabla, pero cuando a la misma tabla la pongo en el left join me aparece mal la ñ.
Algo así me sucedió a mí aunque no había detectado con la precisión que lo haces el problema. Me imagino que tiene que ver con la forma en que Paradox genera los resultados y es posible que en algunas construcciones genere tablas temporales en las que hace caso omiso del lenguaje.

Si encuentras la solución te agradeceré que lo escribas aquí.

// Saludos
Responder Con Cita
  #5  
Antiguo 22-05-2003
ebeltete ebeltete is offline
Miembro
 
Registrado: may 2003
Posts: 236
Poder: 21
ebeltete Va por buen camino
No puedo con las eñes, quien las invento???
Por favor que la Real Academi la hag desparecer!!!!!, asi se me termina el problema con mis consultas sql, el problema despues va a ser como llamar al ñoño.....
Responder Con Cita
  #6  
Antiguo 23-05-2003
bitERROR bitERROR is offline
No confirmado
 
Registrado: may 2003
Posts: 33
Poder: 0
bitERROR Va por buen camino
Cita:
select titu.*, interpre.nombre as interp, rubros.rubro, clientes.razonsoc from "titu.db" titu
left join "interpre.db" interpre on titu.interprete=interpre.codigo
left join "clientes.db" clientes on titu.cliente=clientes.codigo
left join "rubros.db" rubros on titu.rubro=rubros.codigo
where LOWER(titu.nombre) like :nombre and LOWER(interpre.nombre) like :interprete order by interpre.nombre
buenas ebeltete, descubrí una curiosidad hace unos meses con los campos blob y puede, aunque parezca raro, que te sirva, no se si ocurre lo mismo con los campos alfanuméricos, pero prueba a ver.

Yo trabajo con interbase y defino los alias como Paradox 'intl', en alguna ocasión se produce el error 'Can not transliterate between character sets' al intentar leer un campo blob con carácteres no aceptados.

Si hago un select así: 'SELECT CAMPO'. Me salta el mensaje de error.
Sinembargo, si hago el select así: 'SELECT CAMPO AS CAMPO'. No salta el error y puedo leer el contenido del campo, lo único que ocurre es que los carácteres acentuados, eñes, dieresis, etc... se cambian por otros, por ejemplo la ñ se convierte en # !!

Es decir que poniendo una alias al campo, no se por que, parece que se lee el campo con diferente character set. He visto que en tu primer select, el que cito ahí arriba has puesto un alias al campo interpre.nombre ("...interpre.nombre as interp..."), mira de llamar al campo tal cual, a ver si hay suerte!

Xaludos, cuentame los resultados y a ver si alguien me explica esta curiosidad.

Cita:
select titu.*, interpre.nombre, rubros.rubro, clientes.razonsoc from "titu.db" titu
left join "interpre.db" interpre on titu.interprete=interpre.codigo
left join "clientes.db" clientes on titu.cliente=clientes.codigo
left join "rubros.db" rubros on titu.rubro=rubros.codigo
where LOWER(titu.nombre) like :nombre and LOWER(interpre.nombre) like :interprete order by interpre.nombre
Responder Con Cita
  #7  
Antiguo 24-05-2003
ebeltete ebeltete is offline
Miembro
 
Registrado: may 2003
Posts: 236
Poder: 21
ebeltete Va por buen camino
ni modo, no hay forma, creo se un bug, pues siempre me cambia la "eñe", el tema es que cuando necesitas un campo tal cual de las tablas que estan en el left join se complica, por ejemplo la ruta de acceso a un archivo, pero bueno por el momento voy a tener que arreglarmes asi, gracias y creo es un tema para seguir investigando.
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


La franja horaria es GMT +2. Ahora son las 12:32:41.


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