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

Error al convertir una cadena de caracteres en fecha y/u hora.

Estas en el tema de Error al convertir una cadena de caracteres en fecha y/u hora. en el foro de ASPX (.net) en Foros del Web. Buenos días a toda la comunidad del foro. El motivo de este tema es porque estoy teniendo problemas en mi aplicación web hecha en asp.net ...
  #1 (permalink)  
Antiguo 30/07/2012, 10:00
 
Fecha de Ingreso: junio-2009
Mensajes: 15
Antigüedad: 14 años, 10 meses
Puntos: 1
Pregunta Error al convertir una cadena de caracteres en fecha y/u hora.

Buenos días a toda la comunidad del foro.

El motivo de este tema es porque estoy teniendo problemas en mi aplicación web hecha en asp.net c#. Resulta que estoy desarrollando un webform que me permita agregar datos a una bd, hasta aquí todo bien, el detalle esta es que la base de datos tiene dos campos de fecha uno datatime y el otro date.

¿Que sucede?

Estoy tratando de que por medio del webform agregar estos campos fechas obtenidos de mi pc, pero al momento de ejecutar el query aparece el mensaje:"Error en el registro.Error al convertir una cadena de caracteres en fecha y/u hora.". Lo primero que hice fue tratar de convertir la fecha del campo datetime, pasarlo de string a datetime (ya que lo mustraba en un textbox).Como aun me arrojaba el error lo que hice fue crear una variable datetime; y en esa variable agregarla directamente al query.

Con el campo date lo que trate de hacer fue crear una variable string, agregarle el valor de la fecha ejemplo 20/12/2012, y luego convertirlo usando DateTime Variable= Convert.ToDateTime(Variable).Vale destacar que todo esto que he hecho no ha surtido efecto T.T me sigue apareciendo el mensaje. Aquí les dejo el código para que se entienda un poco mejor


protected void BtnCrear_Click(object sender, EventArgs e)
{

DateTime FechaCreacion = DateTime.Now;
string date = "01/08/2008";
DateTime dtme = Convert.ToDateTime(date);
String CadenaCon;
String CadenaSql;
SqlConnection cn;
SqlCommand cmd;
DataTable dt = new DataTable();
ConnectionStringSettings settingConex;
settingConex = ConfigurationManager.ConnectionStrings["conex"];
CadenaCon = settingConex.ConnectionString;
CadenaSql = "INSERT INTO ovUsuarios(usr_odn_id,usr_login,usr_password,usr_f h_creacion,usr_activo,usr_convenio_aceptado,usr_fh _vcmto_convenio) ";
CadenaSql += "VALUES('" + txtId.Text + "',";
CadenaSql += "'" + txtUser.Text + "',";
CadenaSql += "'" + txtPsd.Text + "',";
CadenaSql += "'" + FechaCreacion + "',";
CadenaSql += "'" + ddlact.Text + "',";
CadenaSql += "'" + ddlcon.Text + "',";
CadenaSql += "'" + dtme +"')";
cn = new SqlConnection(CadenaCon);
try
{
cn.Open();
cmd = new SqlCommand(CadenaSql, cn);
cmd.ExecuteNonQuery();
lblresultado.Text = "Usuario agregado satifactoriamente";
}
catch (Exception ex)
{
lblresultado.Text = "Error en el registro." + ex.Message;
}
finally
{
cn.Close();
}
}

Hacer que las fechas no se muestren en unos textbox o label es debido a un momento de desesperación T.T
  #2 (permalink)  
Antiguo 31/07/2012, 07:40
Avatar de ramirezmario7  
Fecha de Ingreso: febrero-2008
Ubicación: Medellín
Mensajes: 336
Antigüedad: 16 años, 2 meses
Puntos: 56
Respuesta: Error al convertir una cadena de caracteres en fecha y/u hora.

Hola.
Si lo que haces es ingresar la fecha actual porke no colocastes en la base de datos a los campos fecha el valor por defecto getdate() asi no lo necesitas hacer por codigo, la bd hara eso solo.

Otra cosa, usa parametros o procedimientos almacenados, no concatenes como lo haces en ese codigo ke tienes.

Si necesitas ingresar la fecha por codigo reguerda verificar el formato de la fecha en la base de datos, puede ser que te este cogiendo el dia como mes entonces te sacara problemas cuando sea mayor que 12
__________________
Mario Ramírez
Desarrollador .NET MCTS
https://www.mcpvirtualbusinesscard.c...nteractivecard
  #3 (permalink)  
Antiguo 31/07/2012, 10:09
Avatar de cristiantorres  
Fecha de Ingreso: marzo-2012
Mensajes: 383
Antigüedad: 12 años, 1 mes
Puntos: 61
Respuesta: Error al convertir una cadena de caracteres en fecha y/u hora.

Otra opcion es que utilices el control de calendar para capturar la fecha y hora.

Y como ya bien te lo dijeron usa parámetro en tus consultas no concatenes esa no es una buena practica.
__________________
Visita mi Blog C#, vb.net, asp.net, sql, java y mas...
Blog Cristian Torres
  #4 (permalink)  
Antiguo 03/08/2012, 09:18
 
Fecha de Ingreso: enero-2002
Mensajes: 136
Antigüedad: 22 años, 3 meses
Puntos: 1
Respuesta: Error al convertir una cadena de caracteres en fecha y/u hora.

Hola, sólo agrego un dato, yo resolví el eterno problema, que se complica con las distintas culturas, mandando a la base el formato 'yyyymmaa'.
Saludos
  #5 (permalink)  
Antiguo 03/08/2012, 09:19
 
Fecha de Ingreso: enero-2002
Mensajes: 136
Antigüedad: 22 años, 3 meses
Puntos: 1
Respuesta: Error al convertir una cadena de caracteres en fecha y/u hora.

Corrijo un error de tipeo, es 'yyyymmdd'.
Saludos

Etiquetas: .net, asp.net4, aspx
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 09:35.