Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MySQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 16-12-2015
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 17
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Amigo Marcelo, No hay problemas con el whitespace, de hecho es una practica que uso porque alguna vez me paso de concatenar SQL y olvidarme un espacio y obviamente el resultado es que da error de sintaxis, siempre dejando un blanco de cada lado me ahorro esos quebraderos de cabeza

Yo creo que el problema esta en la conexion, me ha pasado mil veces

Cuando apenas empezaba en Delphi, hacia esto:

Código Delphi [-]
procedure Algo;
var
  qry: TADOQuery;
begin
  qry := TADOQuery.Create(NIL);  
  try
    { asignar sql }
    { asignar parametros }
    { ejecutar }
  finally
    qry.Free;
  end;
end;

Esto repartido por todos lados en donde necesitaba un query,

Y cual es el detalle? Falta asignar la conexion al TADOQuery; en particular, en ADO, da error al usar parametros

Entonces hoy hago siempre algo similar a esto:

Código Delphi [-]
function TAdoDataModule.CreateQuery(AOwner: TComponent): TADOQuery;
begin
  Result := TADOQuery.Create(AOwner);
  Result.Connection := FAdoConnection; // campo privado del TAdoDataModule, de tipo TADOConnection
end;

Listo nunca mas me olvido la conexion


----------------

Por otro lado revisa lo que te dice Marcelo, hay que respetar el tipo de los parametros en el query; como no nos diste esa informacion, yo asumi todo string

Si 'cantfactu' es un Integer, le estas pasando la propeidad Text de un ComboBox, es decir, un string! Estas mezclando peras con manzanas, literalmente

pd: Hoy parece que tengo las neuronas bastante apagadas
Responder Con Cita
  #2  
Antiguo 16-12-2015
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 28
Delphius Va camino a la fama
Agustin, por algo decia que quiza no fuera un problema. Pero... a estas horas todo puede ser...

Y mejor no me hables de neuronas apagadas. Llevo 3 dias de mierda a causa de muy mal y poco dormir, el calor me esta haciendo mucho mal y encima anoche me di un susto enorme al comprobar que Lazarus no me iniciaba. Hace una hora, o un poquito más que termine la reistalacion y de paso actualizacion.
Ya me tope con el primer escollo: me quitaron el anchordocking y el sentimiento borderline volvio.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #3  
Antiguo 16-12-2015
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 28
Delphius Va camino a la fama
La burra al trigo! Al parametro cantfacu le defines un ftInteger pero en Value le sigues pasando un string.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #4  
Antiguo 16-12-2015
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 17
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Como hoy mismo me encontre diciendo, estos son los dias del año en que estamos todos locos, a mil por hora, cansados, y sobre todo este año, a la enesima potencia

-----------


Código Delphi [-]
  ADOQuery1.Parameters.ParamByName('cantfactu').DataType := ftinteger;
  ADOQuery1.Parameters.ParamByName('cantfactu').Value := combocant.Text;

Si traduzco eso a "humano", estas diciendo:

Preparate, te voy a dar un "Integer"
Toma, aca esta el "string"
Responder Con Cita
  #5  
Antiguo 16-12-2015
ZiriusB ZiriusB is offline
Miembro
 
Registrado: oct 2010
Posts: 86
Poder: 16
ZiriusB Va por buen camino
Sigue generando el mismo error: "Argumentos incorrectos, fuera del intervalo permitido o en conflicto con otros'. Process ProGym.exe (5844)"

Código Delphi [-]
  ADOQuery1.SQL.Text :=
    'INSERT INTO factura (cantfactu,subtfactu,ivafactu,totalfactu,horafactu,idclientef,idpagof,iduserf )' +
    'VALUES (:cantfactu, :subtfactu, :ivafactu, :totalfactu, :horafactu, :idclientef, :idpagof, :iduserF )';
  ADOQuery1.Parameters.ParamByName('cantfactu').DataType := ftinteger;
  ADOQuery1.Parameters.ParamByName('cantfactu').Value := 1;
__________________
"Ningun precio es alto por el privilegio de ser uno mismo..."
Responder Con Cita
  #6  
Antiguo 16-12-2015
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 17
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Pero le pusiste valores a todos los parametros?
Responder Con Cita
  #7  
Antiguo 16-12-2015
ZiriusB ZiriusB is offline
Miembro
 
Registrado: oct 2010
Posts: 86
Poder: 16
ZiriusB Va por buen camino
Ya he intentado mil formas, solo cambie esa linea, las demás están igual, le asigne ese valor para probar, pero me sigue generando error:


Código Delphi [-]
  if ADOQuery1.Active then
    ADOQuery1.Close;

  ADOQuery1.SQL.Text :=
    ' INSERT INTO factura (cantfactu,subtfactu,ivafactu,totalfactu,horafactu,idclientef,idpagof,iduserf )' +
    ' VALUES (:cantfactu, :subtfactu, :ivafactu, :totalfactu, :horafactu, :idclientef, :idpagof, :iduserF )';
  ADOQuery1.Parameters.ParamByName('cantfactu').DataType := ftinteger;
  ADOQuery1.Parameters.ParamByName('cantfactu').Value := 1;

  ADOQuery1.Parameters.ParamByName('subtfactu').DataType := ftfloat;
  ADOQuery1.Parameters.ParamByName('subtfactu').Value := cant;

  ADOQuery1.Parameters.ParamByName('ivafactu').DataType := ftfloat;
  ADOQuery1.Parameters.ParamByName('ivafactu').Value := iva;

  ADOQuery1.Parameters.ParamByName('totalfactu').DataType := ftfloat;
  ADOQuery1.Parameters.ParamByName('totalfactu').Value := total;

  ADOQuery1.Parameters.ParamByName('horafactu').DataType := ftDateTime;
  ADOQuery1.Parameters.ParamByName('horafactu').Value := Mfechahora;

  ADOQuery1.Parameters.ParamByName('idclientef').DataType := ftstring;
  ADOQuery1.Parameters.ParamByName('idclientef').Value := form2.edtcedula.Text;

  ADOQuery1.Parameters.ParamByName('idpagof').DataType := ftinteger;
  ADOQuery1.Parameters.ParamByName('idpagof').Value := tpago;

  ADOQuery1.Parameters.ParamByName('iduserF').DataType := ftinteger;
  ADOQuery1.Parameters.ParamByName('iduserF').Value := 1;

  ADOQuery1.ExecSQL;
end;
__________________
"Ningun precio es alto por el privilegio de ser uno mismo..."
Responder Con Cita
  #8  
Antiguo 16-12-2015
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 28
Delphius Va camino a la fama
Ummm. Noto que en el SQL indicas el mismo nombre tanto al nombrar los campos como a los parametros.
En teoria no debiera dar problemas pero es una buena practica llamar a los parametros diferente... por ejemplo si el campo es IDArticulo que el parametro para este sea pIDArticulo.

hace tiempo que no uso ADO, y se le conoce por ser un tanto rompe moldes y saca canas verdes. No me extrañaria que justo sea una casualidad de que el parser de MySQL mezclado con ADO lleve a un conflicto entre los nombres... uno de los errores da justo entender que no detecta los parametros.

Saludos
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
guardar precios. numeric o float? Patricio Firebird e Interbase 5 07-10-2008 16:21:17
guardar text como un float mjjj Varios 17 20-12-2007 11:44:17
Problemas con los float tato Varios 2 03-04-2006 11:57:38
problemas con float y redondeos wonder boy Firebird e Interbase 17 27-12-2005 20:59:06
Problemas con float.... ilichhernandez Varios 2 20-12-2005 16:19:20


La franja horaria es GMT +2. Ahora son las 12:27:00.


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
Copyright 1996-2007 Club Delphi