none
Validar registro existente sin duplicarlo. RRS feed

  • Pregunta

  • Hola que tal a todos los de la comunidad un saludo enorme.

    Tengo en el momento un metodo el cual me esta funcionando pero realmente no es el idea pues borro todos los datos de una tabla y despues vuelvo e inserto todos los datos de esta manera no duplicada los datos e ingresa los nuevos el caso es que este metodo me resulta algo lento les dejare mi codigo quiza puedan a consejarme que podria cambiar para optimizar la funcion.

                                                                                                                                                          


      public void Insertar()

            {


                SqlConnection con = new SqlConnection();
                con.ConnectionString = "Data Source=BD-DLLO-SP2016;Initial Catalog=GobernacionCesar;Integrated Security=True";
                con.Open();

                string query = "INSERT INTO Liquidacion (IdLiquidacion,IdPeriodo,FechaGeneracion,Usuario) VALUES(@IdLiquidacion, @IdPeriodo,@FechaGeneracion,@Usuario)";
                SqlCommand com1 = new SqlCommand(query, con);
                foreach (GridViewRow gridRow in GridView4.Rows)
                {
                    aleatorio();
                    com1.Parameters.Clear();
                    com1.Parameters.AddWithValue("@IdLiquidacion", num);
                com1.Parameters.AddWithValue("@IdPeriodo", cell);
                com1.Parameters.AddWithValue("@FechaGeneracion", DateTime.Now.ToString());
                com1.Parameters.AddWithValue("@Usuario", gridRow.Cells[0].Text);
                    com1.CommandText = query;
                    com1.ExecuteNonQuery();
                }
                con.Close();
                return;
            }



        protected void Button3_Click(object sender, EventArgs e)
        {
                try
                {

                    Comprobar();                
                }
                catch (Exception ex)
                {
                    //handle any errors here
                }
                finally
                {
                    Dispose();
                    Dispose();
                }
            }
            public void CeldaInformativa()
            {
                foreach (GridViewRow gridRow in GridView1.Rows)
                {
                    celdas = gridRow.Cells[3].Text.Trim();
                }
                foreach (GridViewRow gridRow in GridView5.Rows)
                {
                    cell = gridRow.Cells[0].Text.Trim();
                }
            }

            public void eliminar ()
            {


                SqlConnection con = new SqlConnection();
                con.ConnectionString = "Data Source=BD-DLLO-SP2016;Initial Catalog=GobernacionCesar;Integrated Security=True";
                con.Open();
                SqlCommand com = new SqlCommand("Delete from Liquidacion", con);
                try
                {

                    com.ExecuteNonQuery();
                }
                catch (Exception ex)
                {
                    //handle any errors here
                }
                finally
                {
                    com.Dispose();
                    con.Dispose();
                }

            }

            public void Comprobar()
            {






                CeldaInformativa();

                eliminar();
                            Insertar();
                            Label2.Text = "Nuevos Registros actualizados";



            }

    gracias estoy aprendiendo mucho con ustedes :D

    viernes, 4 de mayo de 2018 21:18

Todas las respuestas

  • Exactamente que es lo que deseas conseguir?

    Si lo que deseas es agregar más registros a tu tabla y que se valide para no agregar datos duplicados, puedes intentar hacer esta pequeña configuracion en tu tabla de sql server. Selecciona la "columna de tu tabla" que deseas que sea datos unicos.

    Esto te permite agregar datos unicos como dni, numero de telefono entre otros. A mi me ha funcionado.

    PD:

    Me aparece este mensaje: El texto del cuerpo no puede contener imágenes ni vínculos hasta que podamos verificar su cuenta. No me permite subir la imagen :/

    Si puedes ayudarme con esta pregunta, sería genial:

    https://social.msdn.microsoft.com/Forums/es-ES/eade5e72-0bc3-4cb0-8df8-ed45ff663378/quiero-obtener-o-combinar-una-consulta-sql?forum=sqlserveres

    viernes, 4 de mayo de 2018 21:46