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 08-03-2010
mcsebas mcsebas is offline
Miembro
 
Registrado: feb 2008
Posts: 78
Poder: 17
mcsebas Va por buen camino
Insertar datos con dbGo

Holas a todos estoy con el siguiente problema resulta que estoy intentando insertar un registro en una BD en Access con los componentes dbGo, la conexión y la query en si. Conecta bien pero a la hora de querer insertar me da que hay un error en la sintaxis de la instrucción SQL.

Los campos 'idus' se auto incrementa y el campo 'activo' es del tipo bool.
Código Delphi [-]
with cmdAgregar do
     begin
          Open;
          SQL.Clear;
          SQL.Text:='insert into Usuarios (idus,user,pass,nombre,activo) values (NULL,'+
                     QuotedStr(txtUsuario.Text)+','+QuotedStr(txtClave.Text)+','+
                     QuotedStr(txtNombre.Text)+',1)';
          ExecSQL;
          Close;
     end;

La verdad que no se que pasa pero que puede ser el hecho de que el valor sea Null en el primer campo que se yo.

Gracias.
Responder Con Cita
  #2  
Antiguo 08-03-2010
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.293
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Si el campo es autoincremental, prueba a no ponerlo en la consulta, ni el nombre ni el NULL, simplemente no lo añadas a la lista.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 08-03-2010
mcsebas mcsebas is offline
Miembro
 
Registrado: feb 2008
Posts: 78
Poder: 17
mcsebas Va por buen camino
Intente lo que me dijiste y me sigue dando el error:

Cita:
Error de Sintaxis en la instrucción 'INSERT INTO'
Te comento que utilizo un ADOQuery para insertar datos o debería utilizar un ADOCommand.

Gracias.
Responder Con Cita
  #4  
Antiguo 08-03-2010
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.293
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Yo he usado de siempre un ADOQuery para las inserciones y nunca he tenido problemas. No creo que ahora haya cambiado nada.

¿Puedes poner la SQL de la estructura de la tabla?

Otra cosa, haz una prueba con una SQl directa, a ver si falla.

Código SQL [-]
insert into Usuarios (user,pass,nombre,activo) values 
('pepe','contra','Pepe Gómez',1)

o
insert into Usuarios (user,pass,nombre,activo) values 
('pepe','contra','Pepe Gómez',True)

Colocala en la propiedad SQL del ADOQuery directamente y ejecuta desde código el ADOQuery1.ExecSQL a ver que te dice.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #5  
Antiguo 08-03-2010
mcsebas mcsebas is offline
Miembro
 
Registrado: feb 2008
Posts: 78
Poder: 17
mcsebas Va por buen camino
La estructura de la tabla en cuestion es:

------------------------------------
Tabla Usuarios
------------------------------------
1 | idus | Autonumérico
2 | user | Texto de 20 caracteres
3 | pass | Texto de 8 caracteres
4 | nombre | Texto de 32 caracteres
5 | activo | Si/No (o sea booleano)
------------------------------------

Te cuento algo que me olvide es que no trabajo con los dataset porque como es solo para dar de alta a usuarios no me parecía que vaya a ser necesario.

Gracias.

Responder Con Cita
  #6  
Antiguo 09-03-2010
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.293
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por mcsebas Ver Mensaje

Te cuento algo que me olvide es que no trabajo con los dataset porque como es solo para dar de alta a usuarios no me parecía que vaya a ser necesario.
No es necesario. A priori con el ADOQuery y el ADOConnection debería bastar. Incluso si configuras la conexión en el ADOQuery te puedes ahorrar el ADOConnection. No necesitas más componentes para la inserción.

¿Has probado lo de colocar la SQL en el query y realizar el INSERT?
¿Funciona? Te da algun error? ¿Cual?
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
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
dbGo, dbExpress o UniDAC? paladincubano Conexión con bases de datos 8 02-12-2008 15:29:38
Insertar Datos a un campo de la base de datos desde un DBEdit saltamirano Varios 11 12-12-2007 17:29:35
Insertar Datos Con Php Caray PHP 10 25-04-2007 05:06:34
Insertar datos en Base de Datos aoiTo C++ Builder 2 18-06-2006 15:42:43
Conectar con DBGo a SQLServer hibero Conexión con bases de datos 6 10-02-2006 22:15:11


La franja horaria es GMT +2. Ahora son las 20:21:14.


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