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 19-08-2012
nickolas nickolas is offline
Miembro
NULL
 
Registrado: may 2011
Posts: 32
Poder: 0
nickolas Va por buen camino
Problemas insertando en mysql delphi 2010

hola a todos, tengo un problema con las inserciones que tengo que hacer en una base de datos mysql. trato de insertar registros y siempre me tira el erro que esta mal la sintaxis y no se porque por que hasta hace unos dias funcionaba y de pronto dejo de funcionar y la verdad no se porque dejo el codigo abajo por lo que se la sintaxis de mysql no tiene nada malo.

Aclaracion: uso mysql 5 y delphi 2010 con los componentes zeos.

Cita:
begin
QRY_Acciones.Close;// cierro la conexion
QRY_Acciones.SQL.Clear; //limpio por si tenia alguna consulta anterior

//inserto los datos en la base de datos
QRY_Acciones.SQL.Add('INSERT into pasajero VALUES (null, :apellido, :nombre, :dni)');
//paso los parametros
QRY_Acciones.ParamByName('apellido').AsString := ED_Apellido.Text;
QRY_Acciones.ParamByName('nombre').AsString := ED_Nombre.Text;
QRY_Acciones.ParamByName('dni').AsInteger := StrToInt(ED_Dni.Text);

//ejecuto la sentencia SQL
QRY_Acciones.ExecSQL;
end;
El query que hace las acciones es "QRY_Acciones".
agradeceria cualquier solucion que me puedan dar porque la vardad no se que pasa esto ya que antes funcionaba bien y me dejo de funcionar.gracias espero sus respuestas.

Última edición por nickolas fecha: 19-08-2012 a las 23:36:06.
Responder Con Cita
  #2  
Antiguo 19-08-2012
MartinS MartinS is offline
Miembro
NULL
 
Registrado: nov 2011
Ubicación: Villa Cacique - Argentina
Posts: 283
Poder: 13
MartinS Va por buen camino
Hola Nickolas: Creo que el tu sentencia te faltan los campos. Solo le estas dando los valores y a donde van?.-

Saluods
Responder Con Cita
  #3  
Antiguo 19-08-2012
MartinS MartinS is offline
Miembro
NULL
 
Registrado: nov 2011
Ubicación: Villa Cacique - Argentina
Posts: 283
Poder: 13
MartinS Va por buen camino
Supuestamente va asi:

Código SQL [-]
insert into Pasajero
  (ID,Apellido,Nombre,DNI)
values
  (:Apellido,:Nombre,NI)

Saludos
Responder Con Cita
  #4  
Antiguo 19-08-2012
nickolas nickolas is offline
Miembro
NULL
 
Registrado: may 2011
Posts: 32
Poder: 0
nickolas Va por buen camino
si gracias ya lo modifique pero me sigue tirando el mismo error

quedo asi

Cita:
begin
QRY_Acciones.Close;// cierro la conexion
QRY_Acciones.SQL.Clear; //limpio por si tenia alguna consulta anterior
//inserto los datos en la base de datos
QRY_Acciones.SQL.Add('INSERT into pasajero (id_pasajero, apellido, nombre, dni) VALUES (null, :apellido, :nombre, :dni)');
QRY_Acciones.ParamByName('apellido').AsString := ED_Apellido.Text;
QRY_Acciones.ParamByName('nombre').AsString := ED_Nombre.Text;
QRY_Acciones.ParamByName('dni').AsInteger := StrToInt(ED_Dni.Text);
//ejecuto la sentencia SQL
QRY_Acciones.ExecSQL;
//refresco el dbgrid

end;
No se le debe de poner el primer valor de como null cuando se manda el dato ya que el id es un campo autincrementable? gracias por reponder
Responder Con Cita
  #5  
Antiguo 20-08-2012
MartinS MartinS is offline
Miembro
NULL
 
Registrado: nov 2011
Ubicación: Villa Cacique - Argentina
Posts: 283
Poder: 13
MartinS Va por buen camino
Cita:
Empezado por nickolas Ver Mensaje
No se le debe de poner el primer valor de como null cuando se manda el dato ya que el id es un campo autincrementable? gracias por reponder
No conozco mysql aunque supongo que es similar a Firebird. Si vez el ejemplo que puse podras observar que para el valor de id no le di ningun valor (es decir, no lo invoque ni mucho menos escribi null). Se supone que el autoincremental en tu base de datos se hace a partir de un trigger o algo parecido ¿No?. En definitiva cuando los demas valores viajan a la base de datos falta el asignado al id por lo que no escribe null si no que esta vacio y ahi interviene el trigger generando el que corresponda...

Saludos.-

No se la version de mysql pero creo que el soporte de trigger se implementa despues de la 5.0.-
Responder Con Cita
  #6  
Antiguo 20-08-2012
nickolas nickolas is offline
Miembro
NULL
 
Registrado: may 2011
Posts: 32
Poder: 0
nickolas Va por buen camino
igual me sigue tirando erro y no se por que, la verdad me sorpende por que antes andaba bien.
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
No puedo conectar Mysql con delphi 2010 juanmarchettini Conexión con bases de datos 8 17-04-2011 20:47:34
MySQL y DBNavigator Delphi 2010 johnytsekieng Conexión con bases de datos 4 16-02-2011 14:45:48
Mysql con delphi 2010 consulta tabla gdlrinfo SQL 6 29-09-2010 01:15:39
Data snap con mysql y Delphi 2010 victor Julio Conexión con bases de datos 1 02-08-2010 21:21:04
Firebird, Mysql y Delphi 2010 tec Varios 3 16-04-2010 15:34:51


La franja horaria es GMT +2. Ahora son las 21:49:34.


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