Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Date,
DateTimePicker1.Value.Date, CObj(DBNull.Value)))
Por ejemplo, para asignar los valores de los par�metros correspondientes a los
controles TextBox y ComboBox, lo har�as de la siguiente manera:
With Da.SelectCommand.Parameters
.AddWithValue("@nombre", If(txt_nombre.Text.Trim() <> "", txt_nombre.Text,
CObj(DBNull.Value)))
.AddWithValue("@apellido", If(txt_apellido.Text.Trim() <> "",
txt_apellido.Text, CObj(DBNull.Value)))
Ahora bien, �qu� valor NULL le quieres asignar a los valores DateTime de los
controles DateTimePicker? Su propiedad Value siempre tiene un valor de fecha y hora
v�lido. ;-)
*********
Efectivamente los campos alfanum�ricos que en un momento dado no llevan informaci�n
hay que validarlos antes de enviarlos a una tabla.
If Isnull(Campoa) then
Campoa=""
Endif
De igual manera cuando leo un campo alfanum�rico de una tabla tambi�n debo hacer la
validaci�n
If Isnull(Campotabla) then
Campot=""
Else
Campot=Campotabla
Endif
************
Que tal as�:
Fecha = system.DBNull.Value
sqlparameter.AddWithValue("fechax",fecha.hasValue? fecha.Value:DBNull.Value)
*********
Amigos gracias por la colaboracion, ok efectivamente el campo fecha que es una
propiedad de una clase esta declarado dentro de la clase como System.NullAble(Of
Date).
Obj es una instancia de esa clase, y con obj acceso a las propiedades de esa clase,
dentro de la clase tengo declaradas las funciones para hacer insert, delete, select
ect, ene ste caso del ejemplo lo que estoy asiendo agregando un nuevo registro.
aun no estoy claro que tiene que ver el que declare la propiedad fecha
System.NullAble(Of Date).
cnn = cn.conectar_sqlserver
dt = obtener_datasource_sql(sql)
If dt.Rows.Count > 0 Then
cnn.Close()
cnn.Dispose()
cnn = Nothing
Return dt.Rows(0).Item(0).ToString
Else
cnn.Close()
cnn.Dispose()
cnn = Nothing
Return ��
End If
End Function
*****
C�mo comprobar el valor NULL en Visual Basic
?
?
Educaci�n
Obtener el valor que desee para comprobar nulo. Esto se puede hacer a trav�s de un
cuadro de texto en el m�dulo de Visual Basic o podr�a ser un valor de retorno de la
funci�n InputBox.
Guarde este valor en una variable de cadena con el operador de asignaci�n. Por
ejemplo, puede utilizar esta l�nea de c�digo para almacenar el valor de un cuadro
de texto llamado txtName en el formulario: strValue = txtName.text.
?
Comparar la variable con la palabra clave Null en un comunicado " si ". Esto se
puede hacer con esta l�nea de c�digo: Si strValue = null entonces. Si desea
asegurarse de que la variable no es nulo, puede utilizar la funci�n IsNull, como se
muestra en el paso 4.
Compruebe el valor de la variable con la funci�n IsNull. Este c�digo puede tener
este aspecto: If IsNull (strValue). La funci�n IsNull devuelve un valor verdadero o
falso para su uso.
Completar el c�digo dentro de la parte real de la " Si " comunicado. La parte real
de " Si " declaraci�n se ejecuta cuando la variable es nula. Si la variable
contiene otra cosa que nada, el c�digo seguir� siendo la parte falsa del if (" tras
otro ") oa la siguiente l�nea de c�digo (despu�s " End If ").
*****************
Al estar enlazado el control ComboBox con un origen de datos, �nicamente tendr�as
que verificar el valor de la propiedad SelectedValue, para saber si su valor es
Nothing. Antes de actualizar la base de datos, ejecutar�as:
> 2.Porque cuando doy guardar de vez en cuando algun combobox me envia el valor
Null
> de la base de datos, yo se que el campo no admite Null...
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
cbProductos.ValueMember = "Id";
cbProductos.DisplayMember = "Descripcion";
cbProductos.DataSource = ObtenerListItemOpcional();
return listproductos;
}
};
}
}
La l�nea clave en donde se agrega el �tem que permitir� la selecci�n opcional es:
listproductos.Rows.InsertAt(row, 0);
return listproductos;
}
dt.Columns.Add("Id");
dt.Columns.Add("Descripcion");
dt.Columns.Add("Precio");
row = dt.NewRow();
row["Id"] = 2;
row["Descripcion"] = "Notebook ASUS ATOM N450";
row["Precio"] = 2300;
dt.Rows.Add(row);
row = dt.NewRow();
row["Id"] = 3;
row["Descripcion"] = "Notebook ACER N270";
row["Precio"] = 2000 ;
dt.Rows.Add(row);
row = dt.NewRow();
row["Id"] = 4;
row["Descripcion"] = "Notebook SONY Atom TM";
row["Precio"] = 2600;
dt.Rows.Add(row);
row = dt.NewRow();
row["Id"] = 5;
row["Descripcion"] = "Notebook DELL SU 4100";
row["Precio"] = 3400;
dt.Rows.Add(row);
row = dt.NewRow();
row["Id"] = 6;
row["Descripcion"] = "Notebook ASUS Core i3";
row["Precio"] = 4500;
dt.Rows.Add(row);
return dt;
}
}
return dt;
}
**************
Si el control ComboBox se encuentra enlazado a un origen de datos, no vas a poder
modificar su colecci�n Items.
ComboBox1.DataSource = dt
ComboBox1.DisplayMember = "Campo_DisplayMember"
ComboBox1.ValueMember = "Campo_ValueMember"
Un saludo
***********
Nota: Suponiendo que estas filtrando mediante los nombres de los productos, es
decir en un ComboBox estan los nombres de los productos, y de acuerdo a ello vas
filtrando al DataGridView, entonces harias lo siguiente!