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

envio de un date time

Estas en el tema de envio de un date time en el foro de ASPX (.net) en Foros del Web. ESTOY HACIENDO UN TRABAJO EN VISUAL .NET Y NECESITO ALMACENAR REGISTROS DE FECHAS EN UNA BASE DE DATOS PERO CUANDO INTENTO INSERTAR EL REGISTRO ME ...
  #1 (permalink)  
Antiguo 22/03/2007, 16:20
 
Fecha de Ingreso: marzo-2007
Mensajes: 8
Antigüedad: 17 años, 9 meses
Puntos: 0
Pregunta envio de un date time

ESTOY HACIENDO UN TRABAJO EN VISUAL .NET Y NECESITO ALMACENAR REGISTROS DE FECHAS EN UNA BASE DE DATOS PERO CUANDO INTENTO INSERTAR EL REGISTRO ME APARECE UN ERROR :System.Data.SqlClient.SqlException: Insert Error: Column name or number of supplied values does not match table definition.

LA MANERA EN LA QUE INTENTO ENVIAR LA FECHA A LA BASE DE DATOS ES:


MyCommand.Parameters.Add(New SqlParameter("@Fecha", SqlDbType.DateTime, 8))

myCommand.Parameters("@Fecha").Value = txt_fecha.Text



EL CAMPO Fecha ESTA TAL CUAL EN LA BASE DE DATOS Y ES DE TIPO DATE TIME. QUE ESTOY HACIENDO MAL ??????

Última edición por flizby; 22/03/2007 a las 16:38
  #2 (permalink)  
Antiguo 23/03/2007, 02:29
Avatar de javiermil  
Fecha de Ingreso: agosto-2004
Mensajes: 509
Antigüedad: 20 años, 4 meses
Puntos: 2
Re: envio de un date time

Hola, txt_fecha.Text es de tipo string, intentalo con esto:

myCommand.Parameters("@Fecha").Value = Convert.ToDateTime(txt_fecha.Text)

Saludos
  #3 (permalink)  
Antiguo 23/03/2007, 13:13
 
Fecha de Ingreso: agosto-2005
Mensajes: 57
Antigüedad: 19 años, 4 meses
Puntos: 0
Re: envio de un date time

Ten cuidado con la cultura pq quizas tú envias la fecha en formato dd/mm/aaaa y el sql te la toma como mm/dd/aaaa. Eso lo manejas cuando hagas el

myCommand.Parameters("@Fecha").Value = Convert.ToDateTime(txt_fecha.Text)
  #4 (permalink)  
Antiguo 23/03/2007, 15:30
 
Fecha de Ingreso: marzo-2007
Mensajes: 8
Antigüedad: 17 años, 9 meses
Puntos: 0
Mensaje Re: envio de un date time

hola que tal

ya probe la sentencia pero el error que marca es el siguiente:

Insert Error: Column name or number of supplied values does not match table definition.
Descripción: Excepción no controlada al ejecutar la solicitud Web actual. Revise el seguimiento de la pila para obtener más información acerca del error y dónde se originó en el código.

Detalles de la excepción: System.Data.SqlClient.SqlException: Insert Error: Column name or number of supplied values does not match table definition.

Error de código fuente:


Línea 295: myCommand.Parameters("@Fecha").Value = Convert.ToDateTime(txt_fecha.Text)
Línea 296: ' myCommand.Parameters("@Fecha").Value = txt_fecha.Text
Línea 297: myCommand.ExecuteNonQuery()
Línea 298:
Línea 299: Dim cad As String

Mira en txt_fecha.Text muestra la fecha actual al momento de ejecutar la pagina; para lo cual hago lo siguiente:

Dim miFecha As DateTime = DateTime.Now()
fechaS = String.Format("{0:dd/MM/yyyy}", miFecha)
txt_fecha.Text = fechaS
  #5 (permalink)  
Antiguo 27/03/2007, 01:51
Avatar de javiermil  
Fecha de Ingreso: agosto-2004
Mensajes: 509
Antigüedad: 20 años, 4 meses
Puntos: 2
Re: envio de un date time

Como está definido el campo en BD y qué valores acepta, lo que comenta Diablito69 tienes que comprobarlo.

Saludos
  #6 (permalink)  
Antiguo 27/03/2007, 10:29
 
Fecha de Ingreso: marzo-2007
Mensajes: 8
Antigüedad: 17 años, 9 meses
Puntos: 0
Re: envio de un date time

el campo en la BD esta definido como Fecha, el tipo de campo es DateTime y en cuanto al comentario de diablito ya lo cheque y utilizo el siguiente código para enviar la fecha:

Dim fechaS As String
Dim miFecha As Date = DateTime.Now()
fechaS = String.Format("{0:MM/dd/yyyy}", miFecha)
myCommand.Parameters.Add(New SqlParameter("@Fecha", SqlDbType.DateTime, 8))
myCommand.Parameters("@Fecha").Value = fechaS
  #7 (permalink)  
Antiguo 28/03/2007, 03:49
Avatar de javiermil  
Fecha de Ingreso: agosto-2004
Mensajes: 509
Antigüedad: 20 años, 4 meses
Puntos: 2
Re: envio de un date time

Pon de tamaño 10 en vez de 8 y pruebalo. Saludos
  #8 (permalink)  
Antiguo 28/03/2007, 14:08
Avatar de vangh  
Fecha de Ingreso: febrero-2007
Mensajes: 66
Antigüedad: 17 años, 10 meses
Puntos: 1
Re: envio de un date time

Cita:
Iniciado por flizby Ver Mensaje
hola que tal

ya probe la sentencia pero el error que marca es el siguiente:

Insert Error: Column name or number of supplied values does not match table definition.
Descripción: Excepción no controlada al ejecutar la solicitud Web actual. Revise el seguimiento de la pila para obtener más información acerca del error y dónde se originó en el código.

Detalles de la excepción: System.Data.SqlClient.SqlException: Insert Error: Column name or number of supplied values does not match table definition.
Talvez al momento de la inserción debes especificar todos los campos, no solo el de fecha,o solo tienes el campo fecha en la tabla a insertar??,
¿si estas creando todos los parametros que correspondan a los campos en la
tabla?
Tienes que crear todos los parametros, si tienes
id,nombre,fecha (por decir un ejemplo) entonces tienes que crear los tres parametros
@id,@nombre y @fecha, porque si pones solamente un parametro te genera ese error que en español sería:

Error de inserción: el nombre de columna o los valores especificados no corresponden a la definición de la tabla.
  #9 (permalink)  
Antiguo 29/03/2007, 11:05
 
Fecha de Ingreso: marzo-2007
Mensajes: 8
Antigüedad: 17 años, 9 meses
Puntos: 0
Re: envio de un date time

Si manejo mas campos en la inserción y tambien los agrego de la manera en que suguieres

Dim consulta As String = "insert into CPU Values (@Num_Serie,@Marca, @Modelo,@ID,@SystemName, @Procesador, @SO, @Ram, @DiscoDuro, @Monitor, @NsMonitor,@ModMonitor, @Teclado, @Nsteclado, @Mouse, @NsMouse, @Usuario, @Ubicación, @Departamento, @Gerencia, @Planta, @TipoAdq,@Fecha)"

Última edición por flizby; 29/03/2007 a las 11:13
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 02:43.