Foros del Web » Programando para Internet » PHP »

Error al convertir el tipo de datos varchar a numeric

Estas en el tema de Error al convertir el tipo de datos varchar a numeric en el foro de PHP en Foros del Web. Buenos dias amigos tengo un pequeño problema. Estoy tratando de realizar un sistema de facturación en php y al introducir datos en mi factura quiero ...
  #1 (permalink)  
Antiguo 12/12/2012, 09:00
 
Fecha de Ingreso: octubre-2012
Mensajes: 63
Antigüedad: 12 años
Puntos: 0
Error al convertir el tipo de datos varchar a numeric

Buenos dias amigos tengo un pequeño problema.
Estoy tratando de realizar un sistema de facturación en php y al introducir datos en mi factura quiero que se guarden en mi base de datos (sql server 2008).

al guardar los datos no tengo problema pero cuando quiero guardar el monto de IVA o El total a pagar que casi siempre es con decimales me da este error "Error al convertir el tipo de datos varchar a numeric"
creo q es porque sql server trabaja con comas(,) y php con puntos(.) pero no se que puedo hacer entonces intente remplazar los puntos por comas pero me da el mismo error lo que estoy haciendo es esto

Código PHP:
 $CLIENTE=$_POST["CLIENTE"];
$NOMBRE=$_POST["NOMBRE"];
$fecha=$_POST["fecha"];
$fecha2=$_POST["fecha2"];
$baseimpuestos=$_POST["baseimpuestos"];
$baseimponible=$_POST["baseimponible"];
$iva=$_POST["iva"];
$query_operacion="INSERT INTO Tab_OrdInsumos_Mae (TxtCedula, TxtNombrePoductor, FecEmision, FecVencimiento, NumTotal_Iva) VALUES ('$CLIENTE', '$NOMBRE', '$fecha', '$fecha2', '$baseimpuestos')"
y la baseimpuestos es la que me da el problema, agradezco su ayuda
  #2 (permalink)  
Antiguo 12/12/2012, 09:17
 
Fecha de Ingreso: abril-2012
Mensajes: 590
Antigüedad: 12 años, 6 meses
Puntos: 58
Respuesta: Error al convertir el tipo de datos varchar a numeric

Prueba usando Number Format para pasar tu número al formato deseado antes de hacer el Insert, esto lo convertirá en numero y además podrás darle el formato que quieras, con . o , o lo que quieras.

Saludos
  #3 (permalink)  
Antiguo 12/12/2012, 09:25
 
Fecha de Ingreso: octubre-2012
Mensajes: 63
Antigüedad: 12 años
Puntos: 0
Respuesta: Error al convertir el tipo de datos varchar a numeric

No me sigue dando el mismo erros creo q es un problema que se soluciona en la base de datos pero no se como estoy nuevo en esto :(
  #4 (permalink)  
Antiguo 12/12/2012, 09:38
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 8 meses
Puntos: 33
Respuesta: Error al convertir el tipo de datos varchar a numeric

Un favor, Podrias poner exactamente el error que te manda y por último el código de como estas "formanteando" las cantidades.

Gracias
  #5 (permalink)  
Antiguo 12/12/2012, 09:45
 
Fecha de Ingreso: octubre-2012
Mensajes: 63
Antigüedad: 12 años
Puntos: 0
Respuesta: Error al convertir el tipo de datos varchar a numeric

el error es "Warning: mssql_query() [function.mssql-query]: message: Error al convertir el tipo de datos varchar a numeric. (severity 16) in C:\AppServ\www\prueba\guardar_factura.php on line 32"

y las cantidades las saco de una funcion

Código PHP:
function cambio_iva() {
            var 
original=parseFloat(document.getElementById("baseimponible").value);
            var 
result=Math.round(original*100)/100 ;
            
document.getElementById("baseimponible").value=result;
    
            
document.getElementById("baseimpuestos").value=parseFloat(result parseFloat(document.getElementById("iva").value 100));
            var 
original1=parseFloat(document.getElementById("baseimpuestos").value);
            var 
result1=Math.round(original1*100)/100 ;
            
document.getElementById("baseimpuestos").value=result1;
            var 
original2=parseFloat(result result1);
            var 
result2=Math.round(original2*100)/100 ;
            
document.getElementById("preciototal").value=result2;
        } 
  #6 (permalink)  
Antiguo 12/12/2012, 09:51
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 8 meses
Puntos: 33
Respuesta: Error al convertir el tipo de datos varchar a numeric

Gracias!
Observando tu primer query tienes la variable $baseimpuestos con comillas simples '$baseimpuestos', si esta u otra variable es de tipo entero es necesario que elimines las comillas, pues de esta forma le estas diciendo a la BD que el valor es varchar y si esta definido como integer no permite realizar la operación.

Comentanos como te fue con esta sugerencia.

saludos.
  #7 (permalink)  
Antiguo 12/12/2012, 10:30
 
Fecha de Ingreso: octubre-2012
Mensajes: 63
Antigüedad: 12 años
Puntos: 0
Respuesta: Error al convertir el tipo de datos varchar a numeric

Amigo mauled muchisimas gracias me di cuenta de un error que tenia y no me estaba tomando el valor de base impuestos muchisimas gracias ya resolvi el problema

Etiquetas: numeric, sql, tipo, varchar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:57.