Sobrecarga de método para preencher um DataGrid ...

17/08/2010

0

criei o seguinte método no formulário base:

------------------------------------------------
public virtual void carregarDados()
{

}

private void btn_salvar_Click(object sender, EventArgs e)
{
            salvar();
            carregaDados();
}


------------------------------------------------

na classe de acesso ao banco de dados tenho um método para retornar um dataset da seguinte forma:

------------------------------------------------

public DataSet RetorarDS(string strQuery)
        {
            SqlConnection cn = new SqlConnection();
            try
            {
                cn = AbrirBanco();
                SqlCommand cmd = new SqlCommand();
                cmd.CommandText = strQuery.ToString();
                cmd.CommandType = CommandType.Text;
                cmd.Connection = cn;
                cmd.ExecuteNonQuery();
                SqlDataAdapter da = new SqlDataAdapter();
                DataSet ds = new DataSet();
                da.SelectCommand = cmd;
                da.Fill(ds);
                return ds;
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                FecharBanco(cn);
            }
        }

--------------------------------------------------

no formulário herdado, na sobrecarga do método:

--------------------------------------------------
public override void carregaDados()
        {
            string csql = "SELECT * FROM tipo_funcionario";
            clsDados dados = new clsDados();
            DataSet ds = dados.RetorarDS(csql);
            dgvDados.DataSource = ds.Tables[0];
            dgvDados.Refresh();
        }

---------------------------------------------------

resumindo, qndo a aplicaçao é compilada (sem acusar erros), qndo tento abrir o formulário tá aparecendo a seguinte informação:



detalhe se coloco no load do form funciona... mas não atualiza o grid...
Allan Roberto

Allan Roberto

Responder

Posts

17/08/2010

Allan Roberto

galera resolvi parcialmente. parece que para carregar do datagrid eu não posso usar a sobrecarga do método preciso criar outro... se alguém conseguir através da sobrecarga ... post por favor...

valeu
Responder

22/08/2010

Tiago Melo

Alan seguinte, vc fez uma confusão um tanto quanto natural ai, você não está utilizando recurso de sobrecarga de metodos ai, a sua idéai esta mais próxima do polimorfismo. veja quando vc declara o metodo no seu form base vc faz da seguinte maneira: public virtual void carregarDados(), isso deixa claro a sua intenção de fazer uso de polimorfismo, ou seja nas classes que herdarem vc quer alterar a maneira como o metodo trabalha, e não fazer sobrecarga. a sobrecarga de metodos serve para vc utilizar um metodo com o mesmo nome, porém com assinatura diferente como por exemplo: public overload void carregarDados(); public overload void carregarDados(integer Id); public overload void carregarDados(integer Id, string nome);
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar