none
erro BD botao alterar RRS feed

  • Pergunta

  • Pessoal esse é o botão alterar de meu form. Quando termino de preencher o form, clico no botão alterar e da erro.

    private void tsbAlterarProd_Click(object sender, EventArgs e)

    {
                    string atualizaSQL = @"update Produtos set vendedor, fornecProd, descricProd, valorCustoProd, valorVendaProd, qtdProd, ObsProd,  = '" + txtVendedorProd.Text + "','" + txtFornecProd.Text + "', '" + txtDescriProd.Text + "', '" + txtVlrCustoProd.Text + "', '" + txtVlrVendaProd.Text + "', '" + txtQtdProd.Text + "', '" + txtObsProd.Text + "'  where CodProd = " + txtCodProd.Text;

                    SqlCeCommand cmd;
                    SqlCeTransaction trans;

                    conn = new SqlCeConnection(connetionString);

                    if (conn.State == ConnectionState.Closed)
                    {
                        conn.Open();
                    }

                    trans = conn.BeginTransaction();

                    try
                    {

                        cmd = new SqlCeCommand(atualizaSQL, conn);

                        cmd.ExecuteNonQuery();

                        trans.Commit(CommitMode.Immediate);

                    }
                    catch (SqlCeException sqlexception)
                    {
                        trans.Rollback();
                        MessageBox.Show(sqlexception.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                    finally
                    {
                        conn.Close();
                    }
                }

    quarta-feira, 7 de novembro de 2012 17:44

Respostas

  • Meu amigo... vc usou o codigo da duvida e nao o codigo da resposta... vc esta com o mesmo problema que o autor da questao.

    Esta faltando o mais importante.. executar o comando:

    comm.ExecuteNonQuery();

    Onde esta isso no seu codigo?

    Eu ja te passe um tutorial sobre isso e vou apssar novamente. Desta vez leia com atençao:

    http://www.macoratti.net/09/07/c_adn_7.htm

    att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    Sogi informatique ltée

    quarta-feira, 7 de novembro de 2012 18:45
    Moderador

Todas as Respostas

  • OK... 

    Seu update é que esta errado

    Um updadte tem o seguinte formato:

    Update TABELA set CAMPO1=VALOR1, CAMPO2=VALOR2, CAMPO3=VALOR3 where CAMPOID=VALORID

    E nao é como vc fez

    Update TABELA set CAMPO1, CAMPO2, CAMPO3 VALOR1, VALOR2, VALOR3 where CAMPOID=VALORID

    "Isso non ekxiste" como diria o Padre Quevedo! :)

    Att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    Sogi informatique ltée


    quarta-feira, 7 de novembro de 2012 18:20
    Moderador
  •  e agora:

    {
                SqlCeConnection conn = new SqlCeConnection(@"Data Source=..\..\MyDatabase#1.sdf");

                //Initial Catalog=cadcd;Integrated Security=True;Pooling=False");

                SqlCeCommand comm = new SqlCeCommand();

                comm.Connection = conn;

                comm.CommandText = "UPDATE cadcd SET vendedorProd = '" + txtVendedorProd.Text + "', fornecProd = '" + txtFornecProd.Text + "', valorCustoProd = '" + txtVlrCustoProd.Text + "', valorVendaProd = '" + txtVlrVendaProd.Text + "', qtdProd = '" + txtQtdProd.Text + "', ObsProd = '" + txtObsProd.Text +

                                    "WHERE codProd = " + (txtCodProd.Text) + "";
           
                // UPDATE cadcd set TIPO='-DIVERSOS', TITULO='TESTE1', DESCRICAO='TESTE1' where REGISTRO=007

                comm.Parameters.AddWithValue("@codProd", txtCodProd.Text);
                comm.Parameters.AddWithValue("@vendedorProd", txtVendedorProd.Text);
                comm.Parameters.AddWithValue("@fornecProd", txtFornecProd.Text);
                comm.Parameters.AddWithValue("@descricProd", txtDescriProd.Text);
                comm.Parameters.AddWithValue("@valorCustoProd", txtVlrCustoProd.Text);
                comm.Parameters.AddWithValue("@valorVendaProd", txtVlrVendaProd.Text);
                comm.Parameters.AddWithValue("@qtdProd", txtQtdProd.Text);            
                comm.Parameters.AddWithValue("@ObsProd", txtObsProd.Text);
                
                    conn.Open();
                conn.Close();

                MessageBox.Show("Midia alterada com sucesso!");

                }

    quarta-feira, 7 de novembro de 2012 18:25
  • E agora o que? vc modificou todo o codigo e nao somente o update

    colocou um bloco inutil e retirou o principal... nao vai funcionar

    Att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    Sogi informatique ltée


    quarta-feira, 7 de novembro de 2012 18:28
    Moderador
  • Me desculpe, mas de qual site vc esta tirando essas informaçoes. Nao tem nenhuma logica o que vc etsa fazendo.

    Parece que vc esta programando uso o metodo de erro/acerto. vc nao vai nunca sair do lugar deste jeito.

    Att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    Sogi informatique ltée

    quarta-feira, 7 de novembro de 2012 18:30
    Moderador
  • E uma ultima coisa... Que eu só notei agora... porque vc esta postando no forum de VB se seu codigo é C#...

    O lugar certo desta questao é lá.

    Att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    Sogi informatique ltée

    quarta-feira, 7 de novembro de 2012 18:33
    Moderador
  • Foi mal copiei deste: http://www.devmedia.com.br/forum/alterar-cadastro-c-com-sql-server-2008/380037

    O meu código correto é esse:

    SqlCeConnection conn = new SqlCeConnection(@"Data Source=..\..\MyDatabase#1.sdf");

                //Initial Catalog=cadcd;Integrated Security=True;Pooling=False");

                SqlCeCommand comm = new SqlCeCommand();

                comm.Connection = conn;

                comm.CommandText = "UPDATE Produtos SET vendedorProd = '" + txtVendedorProd.Text + "', fornecProd = '" + txtFornecProd.Text + "', valorCustoProd = '" + txtVlrCustoProd.Text + "', valorVendaProd = '" + txtVlrVendaProd.Text + "', qtdProd = '" + txtQtdProd.Text + "', ObsProd = '" + txtObsProd.Text +

                                    "WHERE codProd = " + (txtCodProd.Text) + "";
           
                // UPDATE cadcd set TIPO='-DIVERSOS', TITULO='TESTE1', DESCRICAO='TESTE1' where REGISTRO=007

                comm.Parameters.AddWithValue("@codProd", txtCodProd.Text);
                comm.Parameters.AddWithValue("@vendedorProd", txtVendedorProd.Text);
                comm.Parameters.AddWithValue("@fornecProd", txtFornecProd.Text);
                comm.Parameters.AddWithValue("@descricProd", txtDescriProd.Text);
                comm.Parameters.AddWithValue("@valorCustoProd", txtVlrCustoProd.Text);
                comm.Parameters.AddWithValue("@valorVendaProd", txtVlrVendaProd.Text);
                comm.Parameters.AddWithValue("@qtdProd", txtQtdProd.Text);            
                comm.Parameters.AddWithValue("@ObsProd", txtObsProd.Text);
                
                    conn.Open();
                conn.Close();

                MessageBox.Show("Midia alterada com sucesso!");

                }

    quarta-feira, 7 de novembro de 2012 18:34
  • Meu amigo... vc usou o codigo da duvida e nao o codigo da resposta... vc esta com o mesmo problema que o autor da questao.

    Esta faltando o mais importante.. executar o comando:

    comm.ExecuteNonQuery();

    Onde esta isso no seu codigo?

    Eu ja te passe um tutorial sobre isso e vou apssar novamente. Desta vez leia com atençao:

    http://www.macoratti.net/09/07/c_adn_7.htm

    att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    Sogi informatique ltée

    quarta-feira, 7 de novembro de 2012 18:45
    Moderador
  • Coloquei a mesma questão no fórum correto, passou despercebido.

    http://social.msdn.microsoft.com/Forums/pt-BR/vscsharppt/thread/8cc9abe7-9ed4-4c2c-b372-07821780d5f5

    quarta-feira, 7 de novembro de 2012 18:45