Cuando tenemos un código como el siguiente:
if (dt.Rows.Count > 0)
{
this._holderID = int.Parse(dt.Rows[0]["holder_id"].ToString());
this._item = int.Parse(dt.Rows[0]["item"].ToString());
this._holderType = dt.Rows[0]["htype_id"].ToString();
this._qty = int.Parse(dt.Rows[0]["qty"].ToString());
this._prodID =int.Parse(dt.Rows[0]["prod_id"].ToString());
this._woID =int.Parse(dt.Rows[0]["wo_id"].ToString());
this._stat = Stat.Loaded;
}
en el cual tratamos de mapear los campos prod_id y wo_id a las variables _prodID y _woID de un objeto nos provoca un error al tratar de pasar un string vacio a entero en el caso de que ese campo de la tabla este vacío, tal y como se muestra en la siguiente figura:
La solución es muy simple solo hay que comprobar primero si el campo esta vacío, en ese caso le ponemos un valor por omisión (en este caso 0), y en caso de que el campo no este vacio lo convertimos a entero y lo asignamos a la variable de nuestro objeto:
El codigo resultante quedaría asi:
if (dt.Rows.Count > 0)
{
this._holderID = int.Parse(dt.Rows[0]["holder_id"].ToString());
this._item = int.Parse(dt.Rows[0]["item"].ToString());
this._holderType = dt.Rows[0]["htype_id"].ToString();
this._qty = int.Parse(dt.Rows[0]["qty"].ToString());
this._prodID = dt.Rows[0]["prod_id"].ToString().Trim() == string.Empty ? 0 : int.Parse(dt.Rows[0]["prod_id"].ToString());
this._woID = dt.Rows[0]["wo_id"].ToString().Trim() == string.Empty ? 0 : int.Parse(dt.Rows[0]["wo_id"].ToString());
this._stat = Stat.Loaded;
}
Como podemos observar la solución es simple.
Happy Coding!!!
if (dt.Rows.Count > 0)
{
this._holderID = int.Parse(dt.Rows[0]["holder_id"].ToString());
this._item = int.Parse(dt.Rows[0]["item"].ToString());
this._holderType = dt.Rows[0]["htype_id"].ToString();
this._qty = int.Parse(dt.Rows[0]["qty"].ToString());
this._prodID =int.Parse(dt.Rows[0]["prod_id"].ToString());
this._woID =int.Parse(dt.Rows[0]["wo_id"].ToString());
this._stat = Stat.Loaded;
}
en el cual tratamos de mapear los campos prod_id y wo_id a las variables _prodID y _woID de un objeto nos provoca un error al tratar de pasar un string vacio a entero en el caso de que ese campo de la tabla este vacío, tal y como se muestra en la siguiente figura:
La solución es muy simple solo hay que comprobar primero si el campo esta vacío, en ese caso le ponemos un valor por omisión (en este caso 0), y en caso de que el campo no este vacio lo convertimos a entero y lo asignamos a la variable de nuestro objeto:
El codigo resultante quedaría asi:
if (dt.Rows.Count > 0)
{
this._holderID = int.Parse(dt.Rows[0]["holder_id"].ToString());
this._item = int.Parse(dt.Rows[0]["item"].ToString());
this._holderType = dt.Rows[0]["htype_id"].ToString();
this._qty = int.Parse(dt.Rows[0]["qty"].ToString());
this._prodID = dt.Rows[0]["prod_id"].ToString().Trim() == string.Empty ? 0 : int.Parse(dt.Rows[0]["prod_id"].ToString());
this._woID = dt.Rows[0]["wo_id"].ToString().Trim() == string.Empty ? 0 : int.Parse(dt.Rows[0]["wo_id"].ToString());
this._stat = Stat.Loaded;
}
Como podemos observar la solución es simple.
Happy Coding!!!
Comentarios
Publicar un comentario