Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   ASPX (.net) (http://www.forosdelweb.com/f78/)
-   -   valores nulos a la base de datos (http://www.forosdelweb.com/f78/valores-nulos-base-datos-363604/)

kejos 13/01/2006 11:13

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

:'( :si:

Tapia 13/01/2006 12:51

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 " "

kejos 13/01/2006 12:58

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

freegirl 13/01/2006 14:21

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!

kejos 13/01/2006 15:27

la verdad no entiendo lo que me quieres decir

xknown 13/01/2006 19:24

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

freegirl 14/01/2006 04:32

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!


La zona horaria es GMT -6. Ahora son las 23:46.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.