Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/02/2011, 10:04
jotaeva
 
Fecha de Ingreso: junio-2010
Mensajes: 37
Antigüedad: 13 años, 10 meses
Puntos: 0
Problema con int.Parse en C#

Mi codigo: (Visual Studio C# 2010). Access DB


Código C#:
Ver original
  1. private void tbPagos_Click(object sender, EventArgs e)
  2. {
  3.   iPosact = dgView.CurrentRow.Index;
  4.   pId = tc.Rows[iPosact]["id"].ToString();
  5.   pNombre = tc.Rows[iPosact]["nombre"].ToString();
  6.   int pSaldo = int.Parse(tc.Rows[iPosact]["saldo"].ToString()); //error en esta línea.
  7.   if (pSaldo == 0)
  8.     {
  9.      res = MessageBox.Show("No tiene saldos pendientes. ¿Desea anular un pago?", "Anular Pago", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);
  10.      if (res == DialogResult.No)
  11.         {
  12.           cargarDataGrid();
  13.           return;
  14.         }
  15.         Form pagos = new pagos();
  16.         pagos.ShowDialog();
  17.    }
  18.  }

El problema:

saldo es un campo numérico en la tabla. Si pSaldo es > 0, todo anda bien pero si el valor de pSaldo es 0 (cero), genera este error en la línea 6:

No se controló FormatException
La cadena de entrada no tiene el formato correcto.