Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Error Al Insertar Con Dialect 3 (https://www.clubdelphi.com/foros/showthread.php?t=33722)

balian 14-07-2006 21:36:03

Error Al Insertar Con Dialect 3
 
Hola que tal soy nuevo en programacion de BD en delphi. EL problema que tengo es el siguiente estoy usando estoy usando Interbase 7.1 y delphi 7
al ejecutar la consunta con el control IBSQL:

ibsql1.SQL.Append('insert into alumnos values("02620042","LUIS PEREZ","ISC")');
IBSQL1.ExecQuery;

me dice un error:
Dynamic SQL error
SQL error code = -206
Unknown
02620042--->en el valor a insertar

y al cambiar a dialect 1 lo inserta sin problemas.
De antemano agradeceria la ayuda GRacias!!!!

maeyanes 14-07-2006 22:03:20

Usa comillas simples en lugar de doble comilla para los valores de tipo cadena de caracteres, al hacer esto desde Delphi, se traduce de la siguiente manera:

Código Delphi [-]
ibsql1.SQL.Append('insert into alumnos values(''02620042'',''LUIS PEREZ'',''ISC'')');
IBSQL1.ExecQuery;


Saludos...

balian 15-07-2006 00:00:43

Sobre Dialect 3
 
Gracias marcos, entonces podemos decir que el problema surge desde el dialect?
Porque incluso en el Interactive SQL no me permite insertar una cadena con doble comilla en dialect 3 a menos que sea dialect 1

pero bueno gracias de todas maneras

Saludos

Mick 15-07-2006 02:52:59

Las comillas dobles se usan para hacer referencia a nombres de campos, y las comillas simples para cadenas de textos.

Si usas comillas dobles por ejemplo como en "ISC" pues obviamente te va a dar error, porque con eso le estas indicando al gestor de base de datos que haga referencia al nombre del campo "ISC" que no estara definido en la tabla, asi que lo correcto es 'ISC' con comillas simples.

Si hay varios dialectos y hay que especificarlo cuando se hace la conexion es por algo, y es porque la sintaxis del lenguaje es distinta, si todo fuese igual pues no habria necesidad de especificar el dialecto.

Saludos


La franja horaria es GMT +2. Ahora son las 06:26:01.

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