none
Vincular datagrid a uma base de dados??? RRS feed

  • Pergunta

  • Olá pessoal,

    Estou tentando realizar uma consulta e quero mostrar o resultado num datagrid, ja li alguns artigos, mas não ficou muito claro ainda.
    Vou colocar meu codigo para que fique mais facil o entendimento. É um projeto 3 camadas.
    Vou colocar só o q interessa.

    Camada acesso a dados:

    Nome da classe: AcessoDados

    public DataSet ExecuteDataSet()
            {
                SqlCeDataAdapter da = null;
                DataSet ds = null;
                try
                {
                    da = new SqlCeDataAdapter();
                    da.SelectCommand = ((SqlCeCommand)(cmd));
                    ds = new DataSet();
                    da.Fill(ds);
                }
                catch (Exception ex)
                {
    
                    if (handleErrors)
                    {
                        strLastError = ex.Message;
                    }
                    else
                    {
                        //log = new LogErro(ex.Message, ex);
                    }
                }
    
                return ds;
            }
    
            public DataSet ExecuteDataSet(string commandtext)
            {
                DataSet ds = null;
                try
                {
                    cmd.CommandText = commandtext;
                    ds = this.ExecuteDataSet();
                }
                catch (Exception ex)
                {
    
                    if (handleErrors)
                    {
                        strLastError = ex.Message;
                    }
                    else
                    {
                        //log = new LogErro(ex.Message, ex);
                    }
                }
                return ds;
            }
     Camada Regra de Negocio:

    Nome da Classe: Cliente
    public DataSet BuscaCliente(string condicao, string descricao)
            {   AcessoDados db = new AcessoDados();
                string strSql = "";
                try
                {
                    strSql = "SELECT CODCLI, RAZAOSOCIAL, ENDERECO, CIDADE, CNPJ FROM CLIENTES WHERE "+""+condicao+" LIKE "+"'%"+descricao+"%' ORDER BY ORDEMATEND";    
                    return db.ExecuteDataSet(strSql);
                }
                catch (Exception)
                {
                    
                    throw;
                }
            }

    Camada de Apresentação:

    Sendo que a variavel condicao recebe um item selecionado de um combobox, tipo: cidade e a variavel descricao recebe o valor de um textbox, que é o que o usuario quer buscar.

    Nome da classe: frmClientes

    private void btnBuscar_Click(object sender, EventArgs e)
            {
                Cliente cliente = new Cliente();  
                string condicao = "";
                string descricao = "";
                condicao = ccbBusca.SelectedItem.ToString();
                descricao = txtDescricao.Text;
                dtgBuscaCliente.DataSource = cliente.BuscaCliente(condicao, descricao);
            }

    Espero não ter ficado muito grande, desde ja agradeço pela ajuda

    terça-feira, 21 de julho de 2009 19:23

Respostas

  • Bem se for em pocket... experimenta configurar as colunas antes... ai para usar o DataReader ao inves de usar o parametro DataSource... vc usa o .Rows.Add()...


    Se não funciona de um jeito, tente de outro totalmente diferente ^_^
    • Marcado como Resposta JrCesar segunda-feira, 27 de julho de 2009 12:53
    quinta-feira, 23 de julho de 2009 00:28
    Moderador

Todas as Respostas

  • Ok... e qual é a sua duvida ???

    Nao tao aparecendo os resultados ? o projeto é Windows ou Web ?
    Se não funciona de um jeito, tente de outro totalmente diferente ^_^
    terça-feira, 21 de julho de 2009 23:48
    Moderador
  • Olá Rui, tudo bem?

    o projeto é windows, mais especificamente é um projeto para dispositivos móveis como o pocket ou smartphone. Com relação ao datagrid, não estão aparecendo os resultados. O que eu gostaria q aparecesse no datagrid são os campos que estão sendo selecionados pelo sql, que são:
    CodCli, RazaoSocial, Endereco, Cidade e Cnpj.

    Estou tentando fazer com dataset, mas a minha intenção mesmo é fazer com datareader, por ter um desempenho melhor que o dataset.

    Obrigado pela ajuda e qualquer coisa estou a disposição. 
    quarta-feira, 22 de julho de 2009 12:48
  • Bem se for em pocket... experimenta configurar as colunas antes... ai para usar o DataReader ao inves de usar o parametro DataSource... vc usa o .Rows.Add()...


    Se não funciona de um jeito, tente de outro totalmente diferente ^_^
    • Marcado como Resposta JrCesar segunda-feira, 27 de julho de 2009 12:53
    quinta-feira, 23 de julho de 2009 00:28
    Moderador