How is crud to update records in SQL Server by Visual Studio C #?

0

I'm using this code, it does not error, but does not update the data

    public static int attLoja(LojaVirtual loja)
    {
        int resposta = 0;



        using (OdbcConnection conexao = ConexaoPadrao.CreateConnection())
        {
            string sql = "UPDATE tbLoja SET nomeLoja = ?, descLoja = ?, email = ?, telefone = ?, celular = ?,"
            +"cnpj = ?, incEst = ?, idCidade = ?, bairro = ?, rua = ?, numero = ?, complemento = ?,"
            +"idUsuario = ? WHERE idLoja = ?";
            OdbcCommand comando = new OdbcCommand(sql, conexao);

            comando.Parameters.AddWithValue("@idLoja", loja.idLoja);
            comando.Parameters.AddWithValue("@nomeLoja", loja.nomeLoja);
            comando.Parameters.AddWithValue("@descLoja", loja.descLoja);
            // comando.Parameters.AddWithValue("@imagemPerfil", null);
            comando.Parameters.AddWithValue("@email", loja.email);
            comando.Parameters.AddWithValue("@telefone", loja.telefone);
            comando.Parameters.AddWithValue("@celular", "2313");
            comando.Parameters.AddWithValue("@cnpj", loja.cnpj);
            comando.Parameters.AddWithValue("@incEst", loja.incEst);
            comando.Parameters.AddWithValue("@idCidade", loja.idCidade);
            comando.Parameters.AddWithValue("@bairro", loja.bairro);
            comando.Parameters.AddWithValue("@rua", loja.rua);
            comando.Parameters.AddWithValue("@numero", loja.numero);
            comando.Parameters.AddWithValue("@complemento", loja.complemento);
            comando.Parameters.AddWithValue("@idUsuario", loja.idUsuario);

            try
            {
                conexao.Open();
                comando.ExecuteNonQuery();
            }
            catch (Exception)
            {
                resposta = 2;
            }

            finally
            {
                conexao.Close();
            }


        }
        return resposta;

    }
    
asked by anonymous 25.05.2015 / 19:17

2 answers

2

I managed to resolve the result was

public static int attLoja(LojaVirtual loja)
    {
        int resposta = 0;



        using (OdbcConnection conexao = ConexaoPadrao.CreateConnection())
        {
            string sql = "UPDATE tbLoja SET nomeLoja = ?, descLoja = ?, email = ?, telefone = ?, celular = ?,"
            +"cnpj = ?, incEst = ?, idCidade = ?, bairro = ?, rua = ?, numero = ?, complemento = ?,"
            +"idUsuario = ? WHERE idLoja = ?";
            OdbcCommand comando = new OdbcCommand(sql, conexao);


            comando.Parameters.AddWithValue("@nomeLoja", loja.nomeLoja);
            comando.Parameters.AddWithValue("@descLoja", loja.descLoja);
            // comando.Parameters.AddWithValue("@imagemPerfil", null);
            comando.Parameters.AddWithValue("@email", loja.email);
            comando.Parameters.AddWithValue("@telefone", loja.telefone);
            comando.Parameters.AddWithValue("@celular", "2313");
            comando.Parameters.AddWithValue("@cnpj", loja.cnpj);
            comando.Parameters.AddWithValue("@incEst", loja.incEst);
            comando.Parameters.AddWithValue("@idCidade", loja.idCidade);
            comando.Parameters.AddWithValue("@bairro", loja.bairro);
            comando.Parameters.AddWithValue("@rua", loja.rua);
            comando.Parameters.AddWithValue("@numero", loja.numero);
            comando.Parameters.AddWithValue("@complemento", loja.complemento);
            comando.Parameters.AddWithValue("@idUsuario", loja.idUsuario);
            comando.Parameters.AddWithValue("@idLoja", loja.idLoja);

            try
            {
                conexao.Open();
                comando.ExecuteNonQuery();
            }
            catch (OdbcException e)
            {
                resposta = 1;
            }
            catch (Exception e)
            {
                resposta = 2;
            }

            finally
            {
                conexao.Close();
            }


        }
        return resposta;

    }
    
27.05.2015 / 01:22
0

Use the parameter names ( @idLoja, @nomeLoja ) in the query instead of ? .

Your update looks like this:

string sql = "UPDATE tbLoja SET nomeLoja = @nomeLoja WHERE idLoja = @idLoja";
OdbcCommand comando = new OdbcCommand(sql, conexao);
comando.Parameters.AddWithValue("@idLoja", loja.idLoja);
comando.Parameters.AddWithValue("@nomeLoja", loja.nomeLoja);

Omitted other fields for validation purposes. You can try to do the same until you achieve the satisfactory result.

    
25.05.2015 / 19:46