none
Inserts duplicados RRS feed

  • Pergunta

  • Boa noite amigos

    Pessoal estou executando um insert no button salvar da minha aplicação asp.net vb até ai tudo bem não tem erro, mas quando checo os dados no Banco estão duplicados.

    Alguem sabe o que está acontecendo?


    Fernando Henrique Mendes Diogo Programador Asp.net,Dba Sql Server

    quinta-feira, 7 de junho de 2012 21:43

Respostas

  • Fernando,

    Acredito que você esteja executando o comando duas vezes com ExecuteScalar() e com ExecuteNonQuery().

    Tente assim:

         Try
                Dim strcon As New SqlClient.SqlConnection("Data Source=FERNANDO-PC\SQLEXPRESS;Initial Catalog=CadSoft;Integrated Security=True")
                strcon.Open()
                Dim strSql As String = "INSERT INTO Banco ([Nm_banco], [Codigo_banco], [Agencia], [Conta_corrente], [Nm_cidade], [Nm_estado], [Telefone], [Email], [Gerente]) VALUES (' " & Nm_banco.Text & " ',' " & Codigo_banco.Text & " ',' " & Agencia.Text & " ', ' " & Conta_corrente.Text & " ', ' " & Nm_cidade.Text & " ', ' " & Nm_estado.Text & " ', ' " & Telefone.Text & " ',' " & Email.Text & " ', ' " & Gerente.Text & " ') SELECT scope_identity();"
                Dim conm As New SqlClient.SqlCommand(strSql, strcon)
                Dim Id_banco = Convert.ToInt32(conm.ExecuteScalar())
                MsgBox("Cliente Incluido com sucesso.")
            Catch ex As Exception
                Response.Write(ex.Message)
            End Try
    
        End Sub


    []'s
    Philipe Souza
    E-mail: Philipe.s.souza@hotmail.com

    • Sugerido como Resposta Heloisa Pires segunda-feira, 11 de junho de 2012 13:32
    • Marcado como Resposta Fernando HM Diogo terça-feira, 12 de junho de 2012 00:20
    sábado, 9 de junho de 2012 01:05
  • Ok.

    Depois posta aqui se deu certo ou não.


    []'s
    Philipe Souza
    E-mail: Philipe.s.souza@hotmail.com

    segunda-feira, 11 de junho de 2012 12:35

Todas as Respostas

  •    Fernando, posta o código do seu botão salvar e o script de Insert para que possamos dar uma analisada melhor.

    “Caso esta resposta tenha ajudado a solucionar sua dúvida, favor clicar em “Marcar como Resposta” para beneficiar outros membros da comunidade que estejam lendo este thread”.

    sexta-feira, 8 de junho de 2012 14:04
  • Segue o meu script Thiago.

    Protected Sub Salvar_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles Salvar.Click

            Try

                Dim strcon As New SqlClient.SqlConnection("Data Source=FERNANDO-PC\SQLEXPRESS;Initial Catalog=CadSoft;Integrated Security=True")
                strcon.Open()
                Dim strSql As String = "INSERT INTO Banco ([Nm_banco], [Codigo_banco], [Agencia], [Conta_corrente], [Nm_cidade], [Nm_estado], [Telefone], [Email], [Gerente]) VALUES (' " & Nm_banco.Text & " ',' " & Codigo_banco.Text & " ',' " & Agencia.Text & " ', ' " & Conta_corrente.Text & " ', ' " & Nm_cidade.Text & " ', ' " & Nm_estado.Text & " ', ' " & Telefone.Text & " ',' " & Email.Text & " ', ' " & Gerente.Text & " ') SELECT scope_identity();"
                Dim conm As New SqlClient.SqlCommand(strSql, strcon)
                Dim Id_banco = Convert.ToInt32(conm.ExecuteScalar())
                conm.ExecuteNonQuery()
                MsgBox("Cliente Incluido com sucesso.")
            Catch ex As Exception
                Response.Write(ex.Message)
            End Try

        End Sub


    Fernando Henrique Mendes Diogo Programador Asp.net,Dba Sql Server

    sexta-feira, 8 de junho de 2012 16:11
  •    Fernando.

       Acho que o problema esta nesse  SELECT scope_identity();

      Da uma olhada!

    http://luanmorenodba.wordpress.com/2012/02/08/identity-scope_identity-e-ident_currentdiferenas/


    “Caso esta resposta tenha ajudado a solucionar sua dúvida, favor clicar em “Marcar como Resposta” para beneficiar outros membros da comunidade que estejam lendo este thread”.

    sexta-feira, 8 de junho de 2012 18:51
  • É Thiago eu tirei este select scope e está me dando o mesmo problema.

    Fernando Henrique Mendes Diogo Programador Asp.net,Dba Sql Server

    sexta-feira, 8 de junho de 2012 20:31
  • Fernando,

    Acredito que você esteja executando o comando duas vezes com ExecuteScalar() e com ExecuteNonQuery().

    Tente assim:

         Try
                Dim strcon As New SqlClient.SqlConnection("Data Source=FERNANDO-PC\SQLEXPRESS;Initial Catalog=CadSoft;Integrated Security=True")
                strcon.Open()
                Dim strSql As String = "INSERT INTO Banco ([Nm_banco], [Codigo_banco], [Agencia], [Conta_corrente], [Nm_cidade], [Nm_estado], [Telefone], [Email], [Gerente]) VALUES (' " & Nm_banco.Text & " ',' " & Codigo_banco.Text & " ',' " & Agencia.Text & " ', ' " & Conta_corrente.Text & " ', ' " & Nm_cidade.Text & " ', ' " & Nm_estado.Text & " ', ' " & Telefone.Text & " ',' " & Email.Text & " ', ' " & Gerente.Text & " ') SELECT scope_identity();"
                Dim conm As New SqlClient.SqlCommand(strSql, strcon)
                Dim Id_banco = Convert.ToInt32(conm.ExecuteScalar())
                MsgBox("Cliente Incluido com sucesso.")
            Catch ex As Exception
                Response.Write(ex.Message)
            End Try
    
        End Sub


    []'s
    Philipe Souza
    E-mail: Philipe.s.souza@hotmail.com

    • Sugerido como Resposta Heloisa Pires segunda-feira, 11 de junho de 2012 13:32
    • Marcado como Resposta Fernando HM Diogo terça-feira, 12 de junho de 2012 00:20
    sábado, 9 de junho de 2012 01:05
  • Pode ser isso mesmo vou verificar.

    Fernando Henrique Mendes Diogo Programador Asp.net,Dba Sql Server

    segunda-feira, 11 de junho de 2012 12:09
  • Ok.

    Depois posta aqui se deu certo ou não.


    []'s
    Philipe Souza
    E-mail: Philipe.s.souza@hotmail.com

    segunda-feira, 11 de junho de 2012 12:35
  • Philipe fiz o teste deu tudo ok.

    Valeu muito obrigado pela sua ajuda.


    Fernando Henrique Mendes Diogo Programador Asp.net,Dba Sql Server

    terça-feira, 12 de junho de 2012 00:20