CLR: .Net / Mono / Boo / Otros CLR > C#

 Re: Obligar A Un Campo De Bd A Contener Null

(1/2) > >>

poduma:
Buenas. Tengo dos tablas: Cliente y Deposito (relacion N a 1). En una fila de Cliente, quiero obligar en el campo IdD a poner un valor NULL. Cuando creo una fila nueva no tengo problema, con no meter nada me llega. Pero cuando quiero modificar una fila, me da una excepcion si lo hago así:


/* esto esta dentro de un foreach (DataRow MiFila in referencia.Rows) siendo referencia un DataTable que apunta a la tabla"Cliente" en un DataSet */

//si el cliente esta asociado al deposito y el id del mismo coincide, procedo
if ((MiFila ["AsociadoD"]).ToString() =="True"  && (MiFila ["IdD"]).ToString()==id){

   MiFila.BeginEdit();
       
           MiFila ["AsociadoD"] = 0;  //no asociar a ningun deposito
           MiFila ["IdD"] = System.Data.SqlTypes.SqlInt64.Null;
   
    MiFila.EndEdit();

}//endif


esto me da la siguiente excepcion: No se puede almacenar <Nulo> en la columna IdD. el tipo esperado es Int64.


Puse en la cabecera del form using System.Data.SqlTypes, pero ni asi.


A ver si sabeis que hacer que es un problemon, me casca todo el prog por esto.  :angry:

JuanK:
y estas seguro que ese mismo campo en la bd te aguanta null?

poduma:
si pq si abro la tabla en SqlServer, en ese campo, los clientes que haya creado y aun no los he asociado nunca a ningun deposito tienen en la casilla el valor <NULL>

Ademas, si en la tabla (en sqlserver), me coloco en ese campo en una fila que tenga un valor (pej 3) y le doy a CONTROL + 0 (esto lo lei en algun foro), se me pone el valor de ese campo en NULL, pero desde C# no consigo hacerlo !!


Gracias por contestar.  A ver si con esta explicacion me ayuda alguien  :(

JuanK:
MiFila ["IdD"] = null;

o asi:

MiFila ["IdD"] = '\0';

hellscream:

--- Cita de: "JuanK" --- MiFila ["IdD"] = null;

o asi:

MiFila ["IdD"] = '\0';
--- Fin de la cita ---
Eso no funciona si la columna es de tipo int...

Lo correcto es así:
MiFila ["IdD"] = DBNull.Value;

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa