Fórum Erro: System.MissingMethodException: No parameterless constructor defined for this object. #131162
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
Curtir tópico
+ 0Posts
28/03/2010
Eduardo Aguiar
Gostei + 0
29/03/2010
Felipe Cobello
Gostei + 0
29/03/2010
Eduardo Aguiar
Abaixo vai o arquivo .aspx onde faço isso.
Muito obrigado, Eduardo Aguiar.
Untitled Page
Gostei + 0
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
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)