none
Pegar sql inserido no banco RRS feed

  • Pergunta

  • Boa noite, tudo bem?

    Estou como seguinte problema, tenho o código:

    Dim connection As New SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings("DefaultConnection").ConnectionString)
            Dim MySQL As String = "INSERT INTO Nomes (NOME_1,NOME_2,ENDERECO) values (@NOME_1, @NOME_2, @ENDERECO)"
    
     Dim cmd As New SqlCommand(MySQL, connection)
    
    cmd.Parameters.Add(New SqlParameter("@NOME_1", txt_NOME_1.Value))
            cmd.Parameters.Add(New SqlParameter("@NOME_2", txt_NOME_2.value))
            cmd.Parameters.Add(New SqlParameter("@ENDERECO", txt_Endereco.Value))
    
     connection.Open()
     cmd.ExecuteNonQuery()

    Quando insiro os dados, me retorna o seguinte erro:

    "Detalhes da Exceção: System.Data.SqlClient.SqlException: String or binary data would be truncated."

    Eu sei que isso acontece quando o que esta tentando inserir tem um número de caracteres maior que o campo suporta na tabela, porém, os dois estão ok.

    Existe alguma forma de pegar o sql que esta sendo enviado, para checar?

    Se eu tentar como cmd.CommandText.ToString, ele me traz a linha, mas, não junto com os parâmetros, apra que eu possar testar...

    Existe alguma forma?


    terça-feira, 22 de março de 2016 21:36

Respostas

  • Boa tarde Paulo,

    Coloque os campos com tamanhos superiores ao esperado e identifique se o problema ainda está acontecendo!


    Att., Roberto Alves

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.


    • Editado Roberto AB Filho quarta-feira, 23 de março de 2016 19:54
    • Marcado como Resposta Marcos SJ quarta-feira, 23 de março de 2016 20:09
    quarta-feira, 23 de março de 2016 19:37

Todas as Respostas

  • Boa tarde Paulo,

    Coloque os campos com tamanhos superiores ao esperado e identifique se o problema ainda está acontecendo!


    Att., Roberto Alves

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.


    • Editado Roberto AB Filho quarta-feira, 23 de março de 2016 19:54
    • Marcado como Resposta Marcos SJ quarta-feira, 23 de março de 2016 20:09
    quarta-feira, 23 de março de 2016 19:37
  • Sim, mas isso eu já sabia desde o começo.

    Só gostaria de saber se existia a possibilidade de ver exatamente o SQL que foi gerado.

    Mas, pelo jeito, parece que não! :)

    quarta-feira, 23 de março de 2016 21:26
  • Primeiro você pode alterar o tipo do campo de char para varchar para testar, depois tente colocar:

    try {

    // Seu código do banco de dados

    }

    catch (MySqlException ex)
                {
                    throw new ApplicationException(ex.ToString());
                }
    quinta-feira, 24 de março de 2016 13:18