PDA

Ver la Versión Completa : Problema con consulta,'no se puede convertir tipo string a doble'


look
26-05-2008, 22:06:24
buenas compañeros tengo la siguiente query , y no se porq me da este error :

[img=http://img210.imageshack.us/img210/3533/errorfh8.th.jpg] (http://img210.imageshack.us/my.php?image=errorfh8.jpg)

la misma consulta la tengo en otro formulario y no me da el error , ya busq y busq y no encuantro el problema,.... el error lo muestra en la primera linea de la consulta ,me parece muy extraño , porq la query niciquiera llega a ejecutarce ....,y los chequee los campos y todos estan correctos, no tengo idea de q pueda ser
(http://www.clubdelphi.com/foros/#)Q_save.SQL.Text:='DECLARE @NUM INT ; SET @NUM =(SELECT NUM_REGS FROM MI0V01)+1 ; '+
' insert into MINV01 (NUM_REG,CLV_ART,TIPO_MOV,FECHA_DOCU,REFER,CLAVE_CLPV,CANT,CANT_COST,PRECIO,COSTO,ALMACEN,REG_SERIE, UNI_VENTA,U4SEC' +',DB8EXIST,TIPO_PROD,FACTOR_CON,FECHAELAB,USUARIO,M_FLETE)' +'VALUES(@NUM,'+QUOTEDSTR(Q_Ainventarios.FieldBYNAME('CLV_ART').Text)+',58,'+QUOTEDSTR(fecha.text)
+','+QUOTEDSTR(INICIAL)+','+QUOTEDSTR('')+','+QUOTEDSTR(Q_Ainventarios.FieldBYNAME('CANT').Value)+', '+INTTOSTR(0)
+','+FLOATTOSTR(Q_Ainventarios.FieldBYNAME('PRECIOU').Value)+','+FLOATTOSTR(Q_Ainventarios.FieldBYNA ME('COSTO').Value)+','+Q_Ainventarios.FieldBYNAME('almacen').Value
+','+INTTOSTR(0)+','+QUOTEDSTR(Q_Ainventarios.FieldBYNAME('UNI_MED').Text)+','+INTTOSTR(0)+','+FLOAT TOSTR(MULT.FieldBYNAME('EXIST').Value+Q_Ainventarios.FieldBYNAME('CANT').Value)
+','+QUOTEDSTR('I')+','+INTTOSTR(1)+','+QUOTEDSTR(fecha.text)+','+QUOTEDSTR(FORM1.Table1.FieldBYNAME ('USSAAE').Value)+',0)' +' UPDATE MI0V01 SET NUM_REGS=@NUM ';
Q_SAVE.ExecSQL;

(http://www.clubdelphi.com/foros/newthread.php?do=postthread&f=6#)

poliburro
26-05-2008, 22:18:05
Invoca el método Q_save.SQL.SaveToFile y guarda en un archivo la consulta, esa consulta ejecutala en el cliente y podrás evaluar el error.

look
26-05-2008, 22:28:34
probe lo de Q_save.SQL.savetofile pero no funciona, es un error muy extraño, al compilar o ejecutar el programa no da error , sinembargo da el error en esta linea , ni siquiera llega al Q_save.ExecSQL ...

Q_save.SQL.Text:='DECLARE @NUM INT ; SET @NUM =(SELECT NUM_REGS FROM MI0V01)+1 ; '+

BlueSteel
26-05-2008, 23:57:43
Hola Look

puede que tu problema sea al estar trabajando con los QuoteStr... por que no lo intentas con variables y param.... así puedes verificar bien donde esta el problema...

Has probado esa consulta desde un editor de sql... o analizador de consultas

Salu2:p:D

look
29-05-2008, 22:00:00
el problema era en esta linea

+','+FLOATTOSTR(Q_Ainventarios.FieldBYNAME('PRECIOU').Value)+','+FLOATTOSTR(Q_Ainventarios.FieldBYNA ME('COSTO').Value)+','+Q_Ainventarios.FieldBYNAME('almacen').Value

la solucion fue esta...:)



+','+FLOATTOSTR(Q_Ainventarios.FieldBYNAME('PRECIOU').Value)+','+FLOATTOSTR(Q_Ainventarios.FieldBYNA ME('COSTO').Value)+','+Q_Ainventarios.FieldBYNAME('almacen').text