Foros del Web » Programación para mayores de 30 ;) » .NET »

guardar datos de un datetimepicker a una bd

Estas en el tema de guardar datos de un datetimepicker a una bd en el foro de .NET en Foros del Web. hola a todos quisiera saber que estoy haciendo mal... estoy tratando de guardar una fecha de un datetimepicker a una base de datos pero no ...
  #1 (permalink)  
Antiguo 29/06/2011, 15:10
 
Fecha de Ingreso: diciembre-2008
Mensajes: 26
Antigüedad: 15 años, 4 meses
Puntos: 0
guardar datos de un datetimepicker a una bd

hola a todos

quisiera saber que estoy haciendo mal... estoy tratando de guardar una fecha de un datetimepicker a una base de datos pero no me sale...

Private Sub btngra_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btngra.Click

Try
'Dim rs As ADODB.Recordset
Dim codobj As String = Val(Me.txtocod.Text)
Dim nomobj As String = Me.txtonom.Text
Dim objtini As Date = Me.dtpoini.Value
Dim objtfin As Date = Me.dtpofin.Value



Dim cadena As String
cadena = "insert into objetivo(obj_cod,obj_nom,obj_t_ini,obj_t_fin) values ('" + codobj + "','" + nomobj + "','" + objtini + "','" + objtfin + "')"


Dim comando As New SqlCommand(cadena, cn)
Dim r As Integer
cn.Open()
r = comando.ExecuteNonQuery()
cn.Close()

Catch ex As Exception
MessageBox.Show(ex.Message)

End Try
MessageBox.Show("Los datos se grabaron correctamente....")



por favor.... espero que me ayudaen

gracias de antemano
  #2 (permalink)  
Antiguo 29/06/2011, 15:20
Avatar de jhonwilliams  
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.484
Antigüedad: 20 años, 1 mes
Puntos: 76
Respuesta: guardar datos de un datetimepicker a una bd

Pues yo acostumbro a utilizar los SqlParameters para que el command no me ponga lio con los tipo de datos, algo como este emplo que busque en internet.

Código Vb.Net:
Ver original
  1. Private Sub Guardar_cambios_Click(ByVal sender As System.Object, ByVal e _
  2.     As System.EventArgs) Handles BtnGuardar_cambios.Click
  3.     'guardamos los cambios realizados
  4.     Dim sqlcadena As String
  5.     sqlcadena = New String("update vendedores set nombres=@nombres,apellidos=@apellidos," + _
  6.     "dirección=@dirección,e_civil=@civil,sexo=@sexo, sueldo=@sueldo,retirado=@retirado  where codigo=@codigo")
  7.     Dim ocmd As New SqlCommand
  8.     ocmd.Parameters.Add(New SqlParameter("@codigo", SqlDbType.Int)).Value = CboCodigo.Text
  9.     ocmd.Parameters.Add(New SqlParameter("@nombres", SqlDbType.Text, 25)).Value = Txtnom.Text.ToString
  10.     ocmd.Parameters.Add(New SqlParameter("@apellidos", SqlDbType.Text, 25)).Value = Txtapel.Text.ToString
  11.     ocmd.Parameters.Add(New SqlParameter("@dirección", SqlDbType.VarChar, 60)).Value = Txtdir.Text
  12.     ocmd.Parameters.Add(New SqlParameter("@sueldo", SqlDbType.Decimal)).Value = Txtsueldo.Text
  13.     Select Case CboCivil.Text
  14.         Case Is = "Casado"
  15.             ocmd.Parameters.Add("@civil", SqlDbType.Char, 1).Value = "C"
  16.         Case Is = "Soltero"
  17.             ocmd.Parameters.Add("@civil", SqlDbType.Char, 1).Value = "S"
  18.         Case Is = "Viudo"
  19.             ocmd.Parameters.Add("@civil", SqlDbType.Char, 1).Value = "V"
  20.         Case Is = "Divorciado"
  21.             ocmd.Parameters.Add("@civil", SqlDbType.Char, 1).Value = "D"
  22.     End Select
  23.  
  24.     If CboSexo.Text = "Masculino" Then
  25.         ocmd.Parameters.Add("@sexo", SqlDbType.Int, 1).Value = 1
  26.     ElseIf CboSexo.Text = "Femenino" Then
  27.         ocmd.Parameters.Add("@sexo", SqlDbType.Int, 1).Value = 0
  28.     End If
  29.     If chkRetirado.Checked = True Then
  30.         ocmd.Parameters.Add("@retirado", SqlDbType.Bit, 1).Value = chkRetirado.Checked
  31.     ElseIf chkRetirado.Checked = False Then
  32.         ocmd.Parameters.Add("@retirado", SqlDbType.Bit, 1).Value = chkRetirado.Checked
  33.     End If
  34.     conection.Open()
  35.     ocmd.CommandText = sqlcadena
  36.     ocmd.Connection = conection
  37.     ocmd.ExecuteNonQuery()
  38.     conection.Close()
  39. End Sub

Como puedes ver, en la linea

Código Vb.Net:
Ver original
  1. ocmd.Parameters.Add("@civil", SqlDbType.Char, 1).Value = "V"

Se esta especificando el tipo del dato y el tamaño, para el tipo Fecha seria algo como esto:

Código Vb.Net:
Ver original
  1. ocmd.Parameters.Add("@fecha", SqlDbType.DateTime).Value = miFecha

Ya que el tamaño no aplica para este tipo de dato.

Si tienes algún inconveniente para entender todo el código me comentas.

Todo el codigo del ejemplo aqui

Saludos
__________________
Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD.

"Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce)
  #3 (permalink)  
Antiguo 29/06/2011, 16:19
 
Fecha de Ingreso: diciembre-2008
Mensajes: 26
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: guardar datos de un datetimepicker a una bd

he aplicado lo que me indico pero tengo un problema

ocmd.Parameters.Add("@fecha", SqlDbType.DateTime).Value = miFecha

que iria en mifecha si los estoy tomando de un datetimepicker...

le pongo..

ocmd.Parameters.Add("@fecha", SqlDbType.DateTime).Value = datetimepicker1..Value.ToString("MM/dd/yyyy")

me sale el mensaje:

Error al convertir el valor del parámetro de String a DateTime.

porfavor ayudaa...
  #4 (permalink)  
Antiguo 29/06/2011, 16:31
Avatar de jhonwilliams  
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.484
Antigüedad: 20 años, 1 mes
Puntos: 76
Respuesta: guardar datos de un datetimepicker a una bd

Debes de capturar el value del dtPiker

Código Vb.Net:
Ver original
  1. ocmd.Parameters.Add("@fecha", SqlDbType.DateTime).Value = datetimepicker1.Value

Saludos
__________________
Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD.

"Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce)
  #5 (permalink)  
Antiguo 30/06/2011, 21:40
 
Fecha de Ingreso: diciembre-2008
Mensajes: 26
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: guardar datos de un datetimepicker a una bd

muchas gracias ya me salio

Etiquetas: bd
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 23:23.