none
Erro insert mysql com asp.net RRS feed

  • Pergunta

  • Prezados Boa noite

    estou fazendo uns testes com conexao em um banco mysql.

    consigo fazer a conexao normalmente, quando tento fazer um insert, tomo o erro abaixo :

    obs: os textbox tem conteudo

    quinta-feira, 28 de maio de 2015 04:26

Respostas

  • Tente tirar o @ da sua query e coloca ? e no AddWithValue coloque somente o nome do parametro que nesse caso é descricao

    GTSA vantagem de ser inteligente é que podemos fingir que somos imbecis enquanto ao contrario é completamente impossivel

    • Marcado como Resposta Mr.Been quinta-feira, 28 de maio de 2015 12:14
    quinta-feira, 28 de maio de 2015 11:53

Todas as Respostas

  • usa uma variavel

    int variável = cmd.executenonquery

    if (variável >0)

    quinta-feira, 28 de maio de 2015 08:58
  • Colega bom dia

    continua com o mesmo erro

    parece que por algum motivo ele nao passa valor para a @descricao...

    sabe o que pode ser ?

    quinta-feira, 28 de maio de 2015 10:34
  • tirei aquela validação deixei assim :

    porem nao da erro mas tambem nao cadastra no banco , veja : a nomeclatura ta tudo certo nao da erro mas tambem nao faz insert 

    String strCon = "Database=" + BANCO + ";Data Source=" + HOST + ";User Id=" + USUARIO + ";Password=" + SENHA + "; pooling=false";
    
    
            string SQL = "INSERT INTO Site(Descricao, Link) VALUES(";
            SQL += "@descricao, @link)";
    
            using (MySqlConnection conn = new MySqlConnection(strCon))
            {
                using (MySqlCommand cmd = new MySqlCommand(SQL, conn))
                {
                    try
                    {
                        conn.Open();
    
                        cmd.Parameters.AddWithValue("@descricao", TextBox1.Text);
                        cmd.Parameters.AddWithValue("@link", TextBox2.Text);
                        // cmd.Parameters.AddWithValue("@marca", txtMarca.Text);
                       // cmd.Parameters.AddWithValue("@preco", txtPreco.Text);
    
                        cmd.ExecuteNonQuery();
    
                       Label1.Text = "Peça cadastrada com sucesso!";
                      // Label1.ForeColor = Color.Blue;
                    }
                    catch (Exception ex)
                    {
                        Label1.Text = "Erro ao inserir a peça!";
                      //  lblMsg.ForeColor = Color.Red;
                    }

    quinta-feira, 28 de maio de 2015 10:53
  • apontei a saida do ex para  um label , esta com o mesmo erro

    MySql.Data.MySqlClient.MySqlException (0x80004005): Coluna 'Descricao' não pode ser vazia at MySql.Data.MySqlClient.MySqlStream.OpenPacket() at MySql.Data.MySqlClient.NativeDriver.ReadResult(UInt64& affectedRows, Int64& lastInsertId) at MySql.Data.MySqlClient.MySqlDataReader.GetResultSet() at MySql.Data.MySqlClient.MySqlDataReader.NextResult() at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior) at MySql.Data.MySqlClient.MySqlCommand.ExecuteNonQuery() at links.Button1_Click(Object sender, EventArgs e) in c:\Users\notebook\Documents\Visual Studio 2013\WebSites\Admin_Site\links.aspx.cs:line 43 

    quinta-feira, 28 de maio de 2015 11:00
  • Tente tirar o @ da sua query e coloca ? e no AddWithValue coloque somente o nome do parametro que nesse caso é descricao

    GTSA vantagem de ser inteligente é que podemos fingir que somos imbecis enquanto ao contrario é completamente impossivel

    • Marcado como Resposta Mr.Been quinta-feira, 28 de maio de 2015 12:14
    quinta-feira, 28 de maio de 2015 11:53