CARREGAMENTO DE DATATABLE ESTÁ CORRETO?

 Tópico anterior Próximo tópico Novo tópico

CARREGAMENTO DE DATATABLE ESTÁ CORRETO?

C#

 Compartilhe  Compartilhe  Compartilhe
#477803 - 13/11/2017 03:29:03

MARCELODAVID
PINDAMONHANGABA
Cadast. em:Junho/2011


Última edição em 13/11/2017 03:31:36 por MARCELODAVID

Bom dia senhores,
carrego um datatable com o código abaixo e gostaria da opinião dos nobres colegas para me falarem se estou fazendo da forma correta e se não,
como seria?

Obs: Não estou tendo problemas no carregamento, apenas quero saber se essa é uma forma correta de fazer isso.

Desde já grato.

  public DataTable Localizar(string Bairro, string Cidade, string UF)
            {
            string strSQL = "SELECT tbl_bairros.id_bai, tbl_bairros.bai_descricao, tbl_cidades.cid_descricao, tbl_cidades.cid_uf FROM " +
                           "tbl_bairros INNER JOIN tbl_cidades ON tbl_bairros.cid_id = tbl_cidades.id_cid " +
                           "WHERE bai_descricao LIKE @bairro AND cid_descricao " +
                           "LIKE @cidade AND cid_uf LIKE @uf";

            DataTable lista = new DataTable();
            
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = conexao.ObjetoConexao;
            cmd.CommandText = strSQL;
            cmd.Parameters.AddWithValue("@bairro", "%"+Bairro+"%");
            cmd.Parameters.AddWithValue("@cidade", "%"+Cidade+"%");
            cmd.Parameters.AddWithValue("@uf", "%"+ UF + "%");
            conexao.Conectar();
            lista.Load(cmd.ExecuteReader());
            
            return lista;
            }





Resposta escolhida #477804 - 13/11/2017 04:17:14

JABA
CABO FRIO
Cadast. em:Agosto/2005


Última edição em 13/11/2017 04:22:34 por JABA

Eu faria um tratamento de exceção ao abrir a conexão e ao executar o cmd.ExecuteReader, e usaria blocos Using para fechar a conexão. Outra coisa que eu mudaria seria na parte que envolve os parâmetros. Criaria uma classe para representar esses dados. Por exemplo, poderia ser uma classe Endereco - o nome vai depender do contexto.

public DataTable Localizar(Endereco endereco) {
...
cmd.Parameters.AddWithValue("@bairro", "%"+endereco.Bairro+"%");
...
}


www.macoratti.net/vbn5_dpo.htm


_______________________________________________________________________________________________

Se a alma ou espírito são imateriais, como eles fazem para se localizarem quando o corpo está em movimento?



#477805 - 13/11/2017 09:04:14

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
E também o fechamento e dispose da conexão antes do retorno.

_______________________________________________________________________
Gostaria de ter seu sistema Desktop "traduzido" para uma interface web? Podemos conversar...
Virei Oráculo!
The end is nigh, be ready for the nukes!


#477807 - 13/11/2017 10:27:21

MARCELODAVID
PINDAMONHANGABA
Cadast. em:Junho/2011


Entendi senhores, muito grato pelos auxílios! Me dou por satisfeito!



 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por MARCELODAVID em 13/11/2017 10:27:47