Foros del Web » Programando para Internet » ASPX (.net) »

valores nulos a la base de datos

Estas en el tema de valores nulos a la base de datos en el foro de ASPX (.net) en Foros del Web. Hola a todos!!!! mi duda es la siguiente: Si yo tengo un dropdownlist en el que el item de la posición cero son unas rayitas ...
  #1 (permalink)  
Antiguo 13/01/2006, 11:13
Avatar de kejos  
Fecha de Ingreso: septiembre-2005
Mensajes: 100
Antigüedad: 18 años, 7 meses
Puntos: 0
Pregunta valores nulos a la base de datos

Hola a todos!!!!
mi duda es la siguiente:
Si yo tengo un dropdownlist en el que el item de la posición cero son unas rayitas "-------" y cuando voy a insertar un registro si el usuario no escoge ningun item de ese dropdownlist entonces yo deberia llevar un valor nulo o el valor que se colocaria en la base de datos (<NULL>) pero no se cómo llevarlo???
yo se que tengo que hacer una condición con el selectedindex del dropdownlist pero cómo le llevo el valor nulo a la base de datos desde asp.net

Gracias por toda la colaboración que puedan prestarme

  #2 (permalink)  
Antiguo 13/01/2006, 12:51
Avatar de Tapia  
Fecha de Ingreso: noviembre-2005
Ubicación: Chile
Mensajes: 30
Antigüedad: 18 años, 6 meses
Puntos: 0
primero debes saber si la base de datos te acepta nulos en el campo en el cual tienes que modificar

si puedes dale un blanco " "
  #3 (permalink)  
Antiguo 13/01/2006, 12:58
Avatar de kejos  
Fecha de Ingreso: septiembre-2005
Mensajes: 100
Antigüedad: 18 años, 7 meses
Puntos: 0
hola
mira yo lo tengo de la siguiente manera con el blanco pero no me inserta:

Código:
//insertar en tabla investigaciones
SqlCommand CmdIns = new SqlCommand("spInsertarInv", MyCon);

CmdIns.CommandType = CommandType.StoredProcedure;

CmdIns.Parameters.Add(new SqlParameter("@tituloinv", SqlDbType.NVarChar, 50));

CmdIns.Parameters["@tituloinv"].Value = TbTituloInv.Text;

CmdIns.Parameters.Add(new SqlParameter("@resumen", SqlDbType.NVarChar, 255));

CmdIns.Parameters["@resumen"].Value =TbResumen.Text;

DateTime FechaInv=System.Convert.ToDateTime(TbFechaInv.Text);

CmdIns.Parameters.Add(new SqlParameter("@fecha", SqlDbType.SmallDateTime, 4));

CmdIns.Parameters["@fecha"].Value = FechaInv;

if(DdlFinalidad.SelectedIndex==0)
{
    
    CmdIns.Parameters.Add(new SqlParameter("@idfinalidad", SqlDbType.NVarChar, 50));
    
    CmdIns.Parameters["@idfinalidad"].Value = "";
}
else
{
     CmdIns.Parameters.Add(new SqlParameter("@idfinalidad", SqlDbType.NVarChar, 50));

CmdIns.Parameters["@idfinalidad"].Value = int.Parse(DdlFinalidad.SelectedItem.Value);
}

CmdIns.Parameters.Add(new SqlParameter("@docidentidad", SqlDbType.VarChar, 30));

String doc = Session["MySessionVar"].ToString();

CmdIns.Parameters["@docidentidad"].Value = doc;

CmdIns.Connection.Open();
try
{
     CmdIns.ExecuteNonQuery();
     MsgBox3.confirm("Su Registro Ha Sido Insertado","hid_f");
}
catch(Exception ex)
{
    MsgBox3.alert(ex.Message);
}
CmdIns.Connection.Close();
y aun asi no me sale nada ni me inserta entonces no se
  #4 (permalink)  
Antiguo 13/01/2006, 14:21
Avatar de freegirl
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: Catalonia
Mensajes: 4.334
Antigüedad: 20 años, 7 meses
Puntos: 156
hola,

primero comprueba que dicho campo en la BD acepte valor nulo. Entonces prueba a asignarle:

DBNull.Value

por ejemplo:

Cita:
CmdIns.Parameters["@Campo"].Value = DBNull.Value
saludos!
  #5 (permalink)  
Antiguo 13/01/2006, 15:27
Avatar de kejos  
Fecha de Ingreso: septiembre-2005
Mensajes: 100
Antigüedad: 18 años, 7 meses
Puntos: 0
la verdad no entiendo lo que me quieres decir
  #6 (permalink)  
Antiguo 13/01/2006, 19:24
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 4 meses
Puntos: 7
Para insertar valores nulos en la base de datos se hace de la manera que te indica freegirl, obviamente "idfinalidad" (para tu caso) debe permitir valores nulos (valga la redundancia).

Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño
  #7 (permalink)  
Antiguo 14/01/2006, 04:32
Avatar de freegirl
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: Catalonia
Mensajes: 4.334
Antigüedad: 20 años, 7 meses
Puntos: 156
Cita:
Iniciado por kejos
la verdad no entiendo lo que me quieres decir

o sea, es lo que estamos diciendo todos, es que el campo al que le quieres asignar un valor nulo, debes mirar en la Base de Datos que dicho campo acepte valores nulos. "Acepta valores nulos" ---> SI .....porque si está en No, evidentemente te a va a "petar", o sea que te va a dar error.


Y en vez de hacer esto:

Cita:
CmdIns.Parameters["@idfinalidad"].Value = ""
haz esto:

Cita:
CmdIns.Parameters["@idfinalidad"].Value = DBNull.Value
Se entiende ahora?

saludos!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:07.