Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-03-2007
jerosol jerosol is offline
Miembro
 
Registrado: nov 2006
Posts: 21
Poder: 0
jerosol Va por buen camino
Question Insert into

Hola
estoin intentando hacer un insert sobre tablas de database destok pero cuando lo ejecuto me da un error y no se si el codigo esta mal o si podria ser por alguna propiedad q deberia estar marcada.
si alguien me puede ayudar se lo agradeceria

qOperacion.Close;
qOperacion.SQL.Clear;

qOperacion.SQL.Add('Insert Into Mantenimiento (codigo, fecha, total_factura, Gasto, total) Values (codigo, fecha, total_factura, Gasto, total');

qOperacion.Params[0].Value:=strtoint(edCodigo.text);
qOperacion.Params[1].value:=dtpFecha.Date;
qOperacion.Params[2].Value:=strtofloat(edtotfac.Text);
qOperacion.Params[3].Value:=strtofloat(edgasto.Text);
qOperacion.Params[4].Value:=strtofloat(edtotal.Text);

qOperacion.ExecSQL;
Responder Con Cita
  #2  
Antiguo 14-03-2007
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
¿y cuál es el error?
__________________

Responder Con Cita
  #3  
Antiguo 14-03-2007
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
¿Hay alguna posibilidad de que nos digas cuál es el error que te marca?

// Saludos
Responder Con Cita
  #4  
Antiguo 14-03-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.556
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por jerosol
Values (codigo, fecha, total_factura, Gasto, total')
A mi se me hace raro las caritas, no sera por ahi el error

porque deberia de haberse visto en todo caso asi si es que estas oasando parametros, no crees?

Código Delphi [-]
     Values (:codigo, :fecha, :total_factura, :Gasto, :total')

Saludos
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #5  
Antiguo 14-03-2007
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
jejeje
las caritas salen por esta utilizando el prefijo "p" antes del nombre para identificar que es parámetro. Cosa que no sería necesaria, pero en fin, cuestión de estilos.

La carita aparece proque aquí en la página se toma : p como carita, si hubiera puesto :P no creo que hubiera aparecido la carita
__________________

Responder Con Cita
  #6  
Antiguo 14-03-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.556
Poder: 25
egostar Va camino a la fama
Ah bueno, pues ya esta, jejeje

Entonces seguimos esperando que nos informe el error.

Saludos
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #7  
Antiguo 14-03-2007
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
A mi me parece que el error estaría en las conversiones de tipos de datos ocasionados por utilizar:

Código Delphi [-]
qOperacion.Params[1].value:=dtpFecha.Date;

en lugar de
Código Delphi [-]
qOperacion.ParamByName('PFecha').AsDateTime:=dtpFecha.DateTime;

pero sin conocer el error, es pura adivinancia la que hace uno
__________________

Responder Con Cita
  #8  
Antiguo 14-03-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.556
Poder: 25
egostar Va camino a la fama
Podria ser tambien que el código sea String en lugar de Integer......

Saludos
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #9  
Antiguo 14-03-2007
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
Cuando quieran que no aparezcan esas caritas:

Código Delphi [-]

Values (:pcodigo,:pfecha, :ptotal_factura, :pGasto, :ptotal');

pongan la etiqueta [ noparse ]:

[ delphi ]
[ noparse]
...
[ /noparse ]
[ /delphi ]


:p


// Saludos
Responder Con Cita
  #10  
Antiguo 14-03-2007
[basti] basti is offline
Miembro Premium
 
Registrado: ago 2004
Posts: 388
Poder: 20
basti Va por buen camino
Puestos a conjeturar, el error podría ser este:


qOperacion.SQL.Add('Insert Into Mantenimiento (codigo, fecha, total_factura, Gasto, total) Values (:pcodigo, :pfecha, :ptotal_factura, :pGasto, :ptotal');

Falta un paréntesis:
qOperacion.SQL.Add('Insert Into Mantenimiento (codigo, fecha, total_factura, Gasto, total) Values (:pcodigo, :pfecha, :ptotal_factura, :pGasto, :ptotal)');
Responder Con Cita
  #11  
Antiguo 14-03-2007
jerosol jerosol is offline
Miembro
 
Registrado: nov 2006
Posts: 21
Poder: 0
jerosol Va por buen camino
Talking Type mismatch in expression.

Bueno e modificado el codigo siguiendo vuestras indicaciones y el error q me da es "Type mismatch in expression" a ver si ahora sale el fallo
gracias a todos por adelantado.

qOperacion.Close;
qOperacion.SQL.Clear;

qOperacion.SQL.Add('Insert Into Mantenimiento (codigo, fecha, total_factura, Gasto, total) Values (:codigo, :fecha, :total_factura, :Gasto, :total) ');

qOperacion.ParamByName('PCodigo').AsInteger :=strtoint(edCodigo.text);
qOperacion.ParamByName('PFecha').AsDate :=dtpFecha.Date;
qOperacion.ParamByName('PTotal_Factura').AsFloat:=strtofloat(edtotfac.Text);
qOperacion.ParamByName('PGasto').AsFloat :=strtofloat(edgasto.Text);
qOperacion.ParamByName('PTotal').AsFloat :=strtofloat(edtotal.Text);

qOperacion.ExecSQL;

end;
Responder Con Cita
  #12  
Antiguo 14-03-2007
Avatar de ArdiIIa
[ArdiIIa] ArdiIIa is offline
Miembro Premium
 
Registrado: nov 2003
Ubicación: Valencia city
Posts: 1.481
Poder: 22
ArdiIIa Va por buen camino
Cita:
Empezado por jerosol
qOperacion.ParamByName('PCodigo').AsInteger :=strtoint(edCodigo.text);
qOperacion.ParamByName('PFecha').AsDate :=dtpFecha.Date;
qOperacion.ParamByName('PTotal_Factura').AsFloat:=strtofloat(edtotfac.Text);
qOperacion.ParamByName('PGasto').AsFloat :=strtofloat(edgasto.Text);
qOperacion.ParamByName('PTotal').AsFloat :=strtofloat(edtotal.Text);
No entiendo el prefijo P cuando en realidad ningún parámetro comienza con P
Código Delphi [-]
qOperacion.ParamByName('Codigo').AsInteger :=strtoint(edCodigo.text);
qOperacion.ParamByName('Fecha').AsDate     :=dtpFecha.Date;
qOperacion.ParamByName('Total_Factura').AsFloat:=strtofloat(edtotfac.Text);
qOperacion.ParamByName('Gasto').AsFloat     :=strtofloat(edgasto.Text);
qOperacion.ParamByName('Total').AsFloat      :=strtofloat(edtotal.Text);
__________________
Un poco de tu generosidad puede salvar la vida a un niño. ASÍ DE SENCILLO
Responder Con Cita
  #13  
Antiguo 14-03-2007
jerosol jerosol is offline
Miembro
 
Registrado: nov 2006
Posts: 21
Poder: 0
jerosol Va por buen camino
lo de la P es una mania mia y de muxos pero en fin ya lo e cambiadocomo veras en el ultimo mensaje ademas de cambiar el params[n] por
parambyname('').value
Responder Con Cita
  #14  
Antiguo 14-03-2007
Avatar de ArdiIIa
[ArdiIIa] ArdiIIa is offline
Miembro Premium
 
Registrado: nov 2003
Ubicación: Valencia city
Posts: 1.481
Poder: 22
ArdiIIa Va por buen camino
Cita:
Empezado por jerosol
lo de la P es una mania mia y de muxos pero en fin ya lo e cambiadocomo veras en el ultimo mensaje ademas de cambiar el params[n] por
parambyname('').value
Pues suponiendo que ya hayas cambiado correctamente el nombre de los parámetros... No se si sigues obteniendo el mismo error.
Si este persiste, tal vez te esté fallando en el formato de la fecha.
__________________
Un poco de tu generosidad puede salvar la vida a un niño. ASÍ DE SENCILLO
Responder Con Cita
  #15  
Antiguo 14-03-2007
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
Y si pudieras decirnos en que línea te aparece el error de tipos, sería mucho mejor
__________________

Responder Con Cita
  #16  
Antiguo 14-03-2007
jerosol jerosol is offline
Miembro
 
Registrado: nov 2006
Posts: 21
Poder: 0
jerosol Va por buen camino
La cosa esta en q no me dice en q parte falla solo me da el error
Type mismatch in expression
e probado en poner el insert into en la propiedad sql directamente pero no me aclara nada
respecto a lo del formato de la fecha q me reconendais?
e pensado en pasarla como string.
podria funcionar??
Responder Con Cita
  #17  
Antiguo 14-03-2007
Avatar de ArdiIIa
[ArdiIIa] ArdiIIa is offline
Miembro Premium
 
Registrado: nov 2003
Ubicación: Valencia city
Posts: 1.481
Poder: 22
ArdiIIa Va por buen camino
Prueba así a ver que pasa:

Código Delphi [-]

With qOperacion Do
Begin
  Close;
  SQL.Clear;
  SQL.Add('Insert Into Mantenimiento (codigo, fecha, total_factura, Gasto, total) Values (:codigo, :fecha, :total_factura, :Gasto, :total) ');
  ParamByName('Codigo').AsInteger :=strtoint(edCodigo.text);
  ParamByName('FECHA').AsString := FormatDateTime('dd/mm/yyyy',dtpFecha.Date);
  ParamByName('Total_Factura').AsFloat:=strtofloat(edtotfac.Text);
  ParamByName('Gasto').AsFloat     :=strtofloat(edgasto.Text);
  ParamByName('Total').AsFloat      :=strtofloat(edtotal.Text);

ExecSQL;
End;
__________________
Un poco de tu generosidad puede salvar la vida a un niño. ASÍ DE SENCILLO

Última edición por ArdiIIa fecha: 14-03-2007 a las 19:35:16.
Responder Con Cita
  #18  
Antiguo 14-03-2007
jerosol jerosol is offline
Miembro
 
Registrado: nov 2006
Posts: 21
Poder: 0
jerosol Va por buen camino
Me sigue dando el mismo error.
Creo q el problema esta en el sql xq e puesto todos los parametros como estrings asignandoles ' ' es decir cadena vacia menos a la clave primaria q le e puesto un valor y me a seguido dando el error.
seguro q es una tonteria de error de esos q lo lees 100 veces y sigues sin verlo
Responder Con Cita
  #19  
Antiguo 14-03-2007
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
Ponlo así:

Código Delphi [-]
qOperacion.ParamByName('Fecha').AsDate := Trunc(dtpFecha.Date);

La propiedad Date del DateTimePicker en realidad regresa también la parte decimal correspondiente al tiempo.

// Saludos
Responder Con Cita
  #20  
Antiguo 14-03-2007
jerosol jerosol is offline
Miembro
 
Registrado: nov 2006
Posts: 21
Poder: 0
jerosol Va por buen camino
sigue dando errror
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
insert into... supermilloriver Conexión con bases de datos 4 05-01-2006 00:25:52
insert into Nelly SQL 3 14-10-2005 17:54:00
Insert me cierra otro Insert motrildelphi Conexión con bases de datos 0 05-05-2005 12:20:27
Insert Con Ibx AGAG4 Conexión con bases de datos 8 09-09-2004 20:29:15
Insert next disquette... Gochila Humor 4 18-05-2003 21:21:40


La franja horaria es GMT +2. Ahora son las 22:04:18.


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