2017-04-06 158 views
-1
private void btnComprobar_Click(object sender, RoutedEventArgs e) 
{ 
    Inventario inv = new Inventario(); 

    inv.beneficio = txtBeneficio.Text; 
    inv.idProducto = txtIdProducto.Text; 
    inv.idProveedor = txtIdProveedor.Text; 
    inv.precioEntrada = txtprecioEntrada.Text; 

    //errores en la conversion de precioSalida y cantidad 
    inv.precioSalida = double.Parse(txtPrecioSalida.Text); 

    inv.cantidad = int.Parse(txtCantidad.Text); 

    inv.clase = txtClase.Text; 
    switch (txtClase.Text) 
    { 
     case "1": 
      inv.clase = "FUTBOL"; 
      break; 
     case "2": 
      inv.clase = "RUNING"; 
      break; 
     case "3": 
      inv.clase = "BALONMANO"; 
      break; 
     default: 
      inv.clase = "1"; 

      break; 

    } 
    inv.descripcion = txtDescripcion.Text; 
    inv.estado = txtEstado.Text; 

    databaseConector.instance.comprobarProducto(dtGConsultas, inv); 
} 

錯誤消息: 輸入字符串格式不正確。輸入字符串格式不正確

在這兩種情況下

Inv.precioSalida = double.Parse (txtPrecioSalida.Text); 
+1

顯然在txtPrecioSalida TextBox中的字符串不能轉換爲雙。 TextBox中的值是什麼? – mm8

+0

我有幾個文本框,作爲過濾器錯誤時的值爲空 – AlexisRS

+0

你是說txtPrecioSalida.Text爲空?您無法將null傳遞給double.Parse方法而不會發生異常。 – mm8

回答

-1

double.Parse呼叫將拋出一個異常,如果string參數不能被解析到一個double值。與int.Parse一樣。

你可以使用double.TryParse/int.TryParse方法嘗試解析值:

private void btnComprobar_Click(object sender, RoutedEventArgs e) 
{ 
    Inventario inv = new Inventario(); 

    inv.beneficio = txtBeneficio.Text; 
    inv.idProducto = txtIdProducto.Text; 
    inv.idProveedor = txtIdProveedor.Text; 
    inv.precioEntrada = txtprecioEntrada.Text; 

    //errores en la conversion de precioSalida y cantidad 
    double precioSalida; 
    if(double.TryParse(txtPrecioSalida.Text, out precioSalida)) 
     inv.precioSalida = precioSalida 

    int cantidad; 
    if(int.TryParse(txtCantidad.Text, out cantidad)) 
     inv.cantidad = cantidad; 

    inv.clase = txtClase.Text; 
    switch (txtClase.Text) 
    { 
     case "1": 
      inv.clase = "FUTBOL"; 
      break; 
     case "2": 
      inv.clase = "RUNING"; 
      break; 
     case "3": 
      inv.clase = "BALONMANO"; 
      break; 
     default: 
      inv.clase = "1"; 

      break; 

    } 
    inv.descripcion = txtDescripcion.Text; 
    inv.estado = txtEstado.Text; 

    databaseConector.instance.comprobarProducto(dtGConsultas, inv); 
} 
+0

如果它已經非常有用,我仍然需要的東西,因爲沒有錯誤,但作爲過濾器的一部分搜索完成null值並沒有找到任何結果,但非常感謝。 – AlexisRS