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

[SOLUCIONADO] Datos se duplican en SQL Server cuando se Insertan

Estas en el tema de Datos se duplican en SQL Server cuando se Insertan en el foro de ASPX (.net) en Foros del Web. Hola yo aquí aprendiendo a realizar conexiones entre visual studio y SQL Server, mi aplicación de ASP.NET con C# tiene un formulario y cuando ingreso ...
  #1 (permalink)  
Antiguo 13/09/2013, 18:45
Avatar de MLDGATO  
Fecha de Ingreso: marzo-2011
Ubicación: Guatemala
Mensajes: 113
Antigüedad: 13 años, 8 meses
Puntos: 2
Pregunta Datos se duplican en SQL Server cuando se Insertan

Hola yo aquí aprendiendo a realizar conexiones entre visual studio y SQL Server, mi aplicación de ASP.NET con C# tiene un formulario y cuando ingreso los datos en mi formulario y hago clic en el boton los datos se guarda en mi tabla de mi base pero se insertan dos veces, este es el codigo que tengo:

Código C:
Ver original
  1. protected void btnGuardar_Click(object sender, EventArgs e)
  2.     {
  3.         string producto, imagen, marca, descripcion;
  4.         int cantidad;
  5.         double costo, precio;
  6.  
  7.         producto = txtProducto.Text;
  8.         imagen = fluImagen.FileName.ToString();
  9.         marca = txtMarca.Text;
  10.         cantidad = int.Parse(txtCantidad.Text);
  11.         costo = double.Parse(txtCosto.Text);
  12.         precio = double.Parse(txtPrecio.Text);
  13.         descripcion = txtDescripcion.Text;
  14.  
  15.         SqlConnection miconexion = new SqlConnection("Data Source=MLDGATO-PC; Initial Catalog=WebApp; User ID=sa; Password=100050500");
  16.         miconexion.Open();
  17.  
  18.         SqlCommand insertar = new SqlCommand(string.Format("INSERT INTO Productos(NombreProducto, ImagenProducto, MarcaProducto, CantidadProducto, CostoProducto, PrecioProducto, DescripcionProducto)VALUES('{0}', '{1}', '{2}', '{3}', '{4}', '{5}', '{6}')", producto, imagen, marca, cantidad, costo, precio, descripcion), miconexion);
  19.         insertar.ExecuteNonQuery();
  20.        
  21.  
  22.         if (insertar.ExecuteNonQuery() > 0)
  23.         {
  24.             miconexion.Close();
  25.             lblMensaje.Text = "Los datos se han almacenado satisfactoriamente";
  26.             txtCantidad.Text = "";
  27.             txtCosto.Text = "";
  28.             txtDescripcion.Text = "";
  29.             txtMarca.Text = "";
  30.             txtPrecio.Text = "";
  31.             txtProducto.Text = "";
  32.             txtProducto.Focus();
  33.         }
  34.         else
  35.         {
  36.             lblMensaje.Text = "Ha ocurrido un error los daton no se almacenaron";
  37.             miconexion.Close();
  38.         }
  39.  
  40.     }

Muchas gracias por su ayuda.
  #2 (permalink)  
Antiguo 17/09/2013, 10:28
 
Fecha de Ingreso: septiembre-2010
Mensajes: 91
Antigüedad: 14 años, 2 meses
Puntos: 9
Respuesta: Datos se duplican en SQL Server cuando se Insertan

Es por el if (insertar.ExecuteNonQuery() > 0), ya has hecho el insertar.ExecuteNonQuery antes, entonces aunque lo estes colocando dentro de un if este se vuelve a ejecutar para presentarte un valor, lo que debes hacer es no hacer el ExecuteNonQuery afuera, solo deja el del if.

Etiquetas: conexion, consultasql
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 16:09.