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!!!
Suscribirse a:
Comentarios de la entrada (Atom)
Mover mensajes seleccionados a un personal folder en Oulook 2016
Este es un ejemplo de como mover los mensajes seleccionados a un personal folder (pst) en Outlook 2016 usando VBA. Sub MoveInbox() Mov...
-
A continuación les muestro un ejemplo de como eliminar los registros repetidos de una DataTable . //DataTable con los reqistros repetidos...
-
Primero hay que crear el Panel como en el siguiente ejemplo: <dx:ASPxLoadingPanel ID="loadingPanel" ClientInstanceName=...
-
Problemas con Aplicaciones Web Las aplicaciones web son sin estado, lo que significa que una vez una página web es enviada desde servidor, ...

No hay comentarios.:
Publicar un comentario
Nota: sólo los miembros de este blog pueden publicar comentarios.