Muchas gracias por todo.
has definido que el campo en tu tabla en el sql server permita nulos ?
si es asi podrias usar parameto en tu insert y pasarse un DbNull.Value
algo como esto
Using cnn As New OleDbConnection( "connection string")
Try
cnn.Open()
Dim sql As String = "INSERT INTO <tabla> (idCode, nombres, apells,
lugnac, fecnac) " & _
"Values (@id, @nombre, @apellido, @fecnac)"
Dim cmd As New OleDbCommand(sql, cnn)
cmd.Parameters.AddWithValue("@id", 444195)
cmd.Parameters.AddWithValue("@id", "PEDRO")
cmd.Parameters.AddWithValue("@apellido", "PEREZ")
Dim fecha As DateTime
If DateTime.TryParse(txtFecha.Text, fecha)
cmd.Parameters.AddWithValue("@fecnac", fecha)
Else
cmd.Parameters.AddWithValue("@fecnac", DbNull.Value)
End If
cmd.ExecuteNonQuery
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Using
como veras es solo un ejemplo, pero alli se la fecha no se peude
convertir al tipo, pone en la db un null
saludos
El campo de la tabla al estar definido que permita valores nulos, en el
insert, si detecto que tiene que ir un nulo, no lo incluyo en la Sql, por lo
que a la hora de hacer el insert, no se graba nada en ese campo, y pone un
nulo que es el valor por defecto. El problema lo tengo a la hora de
actualizar. Mira mas o menos como lo tengo echo:
Sql = "UPDATE NombreTabla SET "
Sql = Sql & "Codigo='5'"
If Trim(CampoFecha.Text) = "" Then
Sql = Sql & "Fecha=" & DBNull.Value & ","
Else
Sql = Sql & "Fecha='" & DateValue(CampoFecha.Text) & "',"
End If
sql=sql & "WHERE ..."
...
Al ajecutar esta instrucción me da error, por que dice que esperaba algo
despues del =, ya que la Sql resultante la deja: "UPDATE NombreTabla SET
Codigo='5', Fecha= WHERE ...
Sacame de este mar de dudas.
Gracias por tu tiempo.
"Leandro Tuttini" wrote:
> .
>
Arriba tienes la forma de grabar un NULL. Simplemente se pone
"UPDATE...SET Fecha=NULL", y con eso el servidor interpreta correctamente lo
que debe hacer.
Sql = "UPDATE NombreTabla SET "
Sql = Sql & "Codigo='5'"
If Trim(CampoFecha.Text) = "" Then
Sql = Sql & "Fecha=NULL "
Else
Sql = Sql & "Fecha='" & DateValue(CampoFecha.Text) & "',"
End If
sql=sql & "WHERE ..."
...
Saludos cordiales,
Gustavo Arriola
"David Varez" <David...@discussions.microsoft.com> escribió en el mensaje
news:84128345-F16E-4E9F...@microsoft.com...