Ir al contenido


Foto

Problema con "ñ" al realiza consulta en MSSQL


  • Por favor identifícate para responder
2 respuestas en este tema

#1 masedano

masedano

    Newbie

  • Miembros
  • Pip
  • 1 mensajes

Escrito 17 marzo 2012 - 06:31

Buenas
Soy nuevo en lazarus y estoy tratando de realizar una aplicación que muestre información de una base de datos mssql.
Estoy utilizando Lazarus 0.9.28.2 2011-11-26 y FPC 2.2.4
El problema es que tengo una tabla que tiene una columna AÑO.

Ejecuto el siguiente SELECT:

SELECT
  Año, Codigo, Descripcion
FROM
  TablaDeDatos

El motor devuelve el siguiente error:

General SQL Server error: Check messages from the SQL Server.
Sintaxis incorrecta cerca de '?'.

Haciendo un TRACE en el mssql, veo que la sentencia que llega al motor es:

SELECT
  Año, Codigo, Descripcion
FROM
  TablaDeDatos

Seguramente hay algo que no he activado. Alguien podría informarme ¿que puede estar pasando?

En otro foro me dieron la siguiente solución:

Agregar al USES LConvEncoding

y luego, asignar al query el select convertido:
SQLQuery1.SQL.Text:=UTF8ToISO_8859_1('SELECT Año, Codigo, Descripcion FROM TablaDeDatos');

Esto funciona, pero en tiempo de ejecución. En tiempo de diseño no funciona y no puedo realizar tareas como crear las columnas en el query.

Espero haber sido claro con la pregunta.
Un saludo y desde ya, muchas gracias.
  • 0

#2 marcosp

marcosp

    Member

  • Miembros
  • PipPip
  • 26 mensajes

Escrito 17 marzo 2012 - 08:52

Proba poniendo el parametro CharSet de la conexion igual a 'UTF8' (conexion.CharSet='UTF8') antes de conectar a la base de datos. Por lo menos en FireBird lo hago de esta manera.
Saludos!
  • 0

#3 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.040 mensajes
  • LocationSanto Domingo

Escrito 17 marzo 2012 - 09:29

Revisa este  HILO

creo que puede ayudarte, lee la parte final donde esta una de las soluciones.
  • 0




IP.Board spam blocked by CleanTalk.