Erro: System.MissingMethodException: No parameterless constructor defined for this object.
26/03/2010
0
using System; using System.Data; using System.Configuration; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; using System.Data.SqlClient; using System.Web.Configuration; using System.Collections.Generic; /// /// Summary description for Entidades /// namespace erasw.Entidades { public class CustomEntidade { protected readonly string _connectionString; private int _codigo; private string _nome; private string _cpf; private string _cnpj; private string _rg; private string _nrInscricaoEstadual; private string _endereco; private string _numeroEndereco; private string _bairro; private string _cidade; private string _uf; private string _complemento; private string _cep; private DateTime _dataCadastro; private string _status; private string _email; private string _userId; private string _userName; private string _tipoPessoa; public int Codigo { get {return _codigo; } set { _codigo = value; } } public string Nome { get { return _nome; } set { _nome = value;} } public string TipoPessoa { get { return _tipoPessoa; } set { _tipoPessoa = value; } } public string Cpf { get { return _cpf; } set { _cpf = value; } } public string Cnpj { get { return _cnpj; } set { _cnpj = value;} } public string NrInscricaoEstadual { get { return _nrInscricaoEstadual; } set { _nrInscricaoEstadual = value;} } public string Endereco { get { return _endereco; } set { _endereco = value; } } public string NumeroEndereco { get { return _numeroEndereco; } set { _numeroEndereco = value; } } public string Bairro { get { return _bairro; } set { value = _bairro; } } public string Cidade { get { return _cidade; } set { _cidade = value; } } public string Uf { get { return _uf; } set { _uf = value; } } public string Complemento { get { return _complemento; } set { _complemento = value;} } public DateTime DataCadastro { get { return _dataCadastro; } set { _dataCadastro = value; } } public string Rg { get { return _rg; } set { _rg = value; } } public string Cep { get { return _cep; } set { _cep = value; } } public string Status { get { return _status; } set { _status = value;} } public string UserId { get { return _userId; } set { _userId = value; } } public string UserName { get { return _userName; } set { _userName = value; } } public string Email { get { return _email; } set { _email = value; } } //static CustomEntidade() //{ // //setando a String de conexão //} //Código Equivalente ao constructor do Delphi public CustomEntidade(SqlDataReader reader) { _connectionString = WebConfigurationManager.ConnectionStrings["SCSConnectionString"].ConnectionString; if (reader["cd_entidade"] != null) _codigo = (int) reader["cd_entidade"]; if (reader["nm_entidade"] != null) _nome = (string) reader["nm_entidade"]; if (reader["fg_tipopessoa"] != null) _tipoPessoa = (string) reader["fg_tipopessoa"]; if (reader["nr_cpf"] != null) _cpf = (string) reader["nr_cpf"]; if (reader["nr_rg"] != null) _rg = (string) reader["nr_rg"]; if (reader["nr_cnpj"] != null) _cnpj = (string) reader["nr_cnpj"]; if (reader["nr_inscricao"] != null) _nrInscricaoEstadual = (string) reader["nr_inscricao"]; if (reader["ds_endereco"] != null) _endereco = (string) reader["ds_endereco"]; if (reader["nr_endereco"] != null) _numeroEndereco = (string) reader["nr_endereco"]; if (reader["ds_bairro"] != null) _bairro = (string) reader["ds_bairro"]; if (reader["ds_cidade"] != null) _cidade = (string) reader["ds_cidade"]; if (reader["ds_uf"] != null) _uf = (string) reader["ds_uf"]; if (reader["ds_complemento"] != null) _complemento = (string) reader["ds_complemento"]; if (reader["dt_cadastro"] != null) _dataCadastro = (DateTime) reader["dt_cadastro"]; if (reader["nr_cep"] != null) _cep = (string) reader["nr_cep"]; if (reader["ds_email"] != null) _email = (string) reader["ds_email"]; if (reader["fg_status"] != null) _status = (string) reader["fg_status"]; if (reader["ds_userId"] != null) _userId = (string) reader["ds_userId"]; if (reader["ds_username"] != null) _userName = (string) reader["ds_username"]; } //public abstract List SelectAll() { } //public abstract CustomEntidade SelecByCodigo(int Codigo) { } //public abstract void Insert(int codigo, string nome, string tipoPessoa, string cpf, string cnpj, // string rg, string nrInscricaoEstadual, string endereco, string numeroEndereco, // string bairro, string cidade, string uf, string complemento, string cep, // DateTime dataCadastro, string status, string email, string userId, // string userName) { } //public abstract void Update(int codigo, string nome, string tipoPessoa, string cpf, string cnpj, // string rg, string nrInscricaoEstadual, string endereco, string numeroEndereco, // string bairro, string cidade, string uf, string complemento, string cep, // DateTime dataCadastro, string status, string email, string userId, // string userName) { } //public abstract void Delete(int Codigo) { } } public class Cliente : CustomEntidade //herdando da classe padrão CustomEntidade { public Cliente(SqlDataReader reader): base(reader) { } //Constructor da nova classe /// /// Método SelectAll /// /// Retorna uma lista de entidades [System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Select, true)] public List SelectAll() { //Passando SQL string sSQL = "SELECT cd_entidade, " + " nm_entidade, " + " nr_cpf, " + " nr_rg, " + " nr_cnpj, " + " nr_inscricao, " + " ds_endereco, " + " nr_endereco, " + " fg_tipopessoa, " + " ds_bairro, " + " ds_cidade, " + " ds_uf, " + " ds_complemento," + " dt_cadastro, " + " nr_cep, " + " ds_email, " + " fg_status, " + " ds_userId, " + " ds_username " + " FROM Entidades " + " WHERE fg_cliente = @fg"; //Criando a conexão e os parâmetros SqlConnection con = new SqlConnection(_connectionString); SqlCommand cmd = new SqlCommand(sSQL, con); //Setando o tipo do comando cmd.CommandType = CommandType.Text; //criando a lista de generics List results =new List(); //Setando o parâmetro cmd.Parameters.Add ("@fg", 0); //Abrindo a conexão e lendo os registros using (con) { con.Open(); SqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { results.Add(new Cliente(reader)); } con.Close(); return results; } } } }
Obrigado.
Eduardo Aguiar
Posts
28/03/2010
Eduardo Aguiar
29/03/2010
Felipe Cobello
29/03/2010
Eduardo Aguiar
Abaixo vai o arquivo .aspx onde faço isso.
Muito obrigado, Eduardo Aguiar.
Untitled Page
29/03/2010
Eduardo Aguiar
O problema ocorria por faltar na declaração do método SelectAll que seria static.
Anteriormente ocorria fazia da seguinte forma:
public List SelectAll()
Onde deveria ficar da seguinte maneira:
public static List SelectAll()
Podem me corrigir se eu estiver errado, mas pelo que eu entendi, colocando static, o ObjectDataSource não dependerá de criar a minha classe para depois acessar o método SelectAll. Anteriormente ele tentava criar sem passar o parâmetro por isso ocorreu o erro deste tópico.
Obrigado a todos!
Eduardo Aguiar
Clique aqui para fazer login e interagir na Comunidade :)