ERRO DADOS SÃO NULL.
OLA PESSOAL TENHO O SEGUINTE ERRO
Dados são Null. Não é possÃvel chamar este método ou esta propriedade em valores Null.
como estou carregando
dr.GetString(dr.GetOrdinal([Ô]Telefone[Ô]));
esta em c# nao tenho nem nocao o banco de dados esta em sql server 2008
Obrigado
JOao
Dados são Null. Não é possÃvel chamar este método ou esta propriedade em valores Null.
como estou carregando
dr.GetString(dr.GetOrdinal([Ô]Telefone[Ô]));
esta em c# nao tenho nem nocao o banco de dados esta em sql server 2008
Obrigado
JOao
if (dr[[Ô]Telefone[Ô]] != dbnull.value)
{
//aqui.
}
{
//aqui.
}
guimoeares estou fazendo isto hem um monte de formuraio seria possivel passar isto para uma funçõa
public static T GetValue<T>(object value) where T : struct
{
return value == DBNull.Value ? default(T) : (T)value;
}
//Como usar
seuAtributo = GetValue<string>(dr[[Ô]Telefone[Ô]]);
nao consegui usar ten que criar um modulo uma funcao o erro que esta dando é este
this.Bairro = GetValue<String> (dr.GetOrdinal([Ô]Bairro[Ô])));
mais reclama erro abaixo
Severity Code Description Project File Line Suppression State
Error CS0453 The type [ô]string[ô] must be a non-nullable value type in order to use it as parameter [ô]T[ô] in the generic type or method [ô]Aluno.GetValue<T>(object)[ô] EuroDLL D:\Projeto\Programas\euroschool\Euroschool\EuroDLL\Classes\Metodos\MetodoAluno.cs 58 Active
this.Bairro = GetValue<String> (dr.GetOrdinal([Ô]Bairro[Ô])));
mais reclama erro abaixo
Severity Code Description Project File Line Suppression State
Error CS0453 The type [ô]string[ô] must be a non-nullable value type in order to use it as parameter [ô]T[ô] in the generic type or method [ô]Aluno.GetValue<T>(object)[ô] EuroDLL D:\Projeto\Programas\euroschool\Euroschool\EuroDLL\Classes\Metodos\MetodoAluno.cs 58 Active
JOAOBENEVIDES, o que o GUIMOARAES123 passou é um método de extensão, que será aplicado à object. Você simplesmente o adiciona em uma classe estática e ele estará disponÃvel para ser usado.
Citação::
JOAOBENEVIDES, o que o GUIMOARAES123 passou é um método de extensão, que será aplicado à object. Você simplesmente o adiciona em uma classe estática e ele estará disponÃvel para ser usado.
Exato.
na verdade nao estou sabendo criar este metodo de extensao, pode me explicar
Criando uma classe estática e colocando o método nela. Como todo o método de extensão é estático, ele precisa necessariamente estar em uma classe estática. Essa classe geralmente possui vários outros métodos, conforme sua necessidade.
Explicando métodos de extensão:
Ele é um método como qualquer outro. A diferença é a obrigatoriedade do primeiro argumento(parâmetro), que é o tipo de objeto ao qual ele se aplica. Especificamente no método desse post, é aplicado à object, ou seja, tudo. Mas você pode usar para tipos mais especÃficos. Como por exemplo:
No método acima, qualquer coisa que seja do tipo double, vai possuir [Ô]enxergar[Ô] o método Soma, que recebe um parâmetro, o valor à ser adicionado, por exemplo:
Neste caso, a variável [Ô]somado[Ô] terá o valor 100, pois é a soma do seu valor adicional(representado pelo primeiro argumento do método de extensão) e o valor à ser somado, que é o parâmetro passado ao método [Ô]Soma[Ô].
public static class MetodosExtensao
{
public static T GetValue<T>(object value) where T : struct
{
return value == DBNull.Value ? default(T) : (T)value;
}
}
Explicando métodos de extensão:
Ele é um método como qualquer outro. A diferença é a obrigatoriedade do primeiro argumento(parâmetro), que é o tipo de objeto ao qual ele se aplica. Especificamente no método desse post, é aplicado à object, ou seja, tudo. Mas você pode usar para tipos mais especÃficos. Como por exemplo:
public static double Soma(double valor, double ValorAdicionar)
{
return valor + ValorAdicionar;
}
No método acima, qualquer coisa que seja do tipo double, vai possuir [Ô]enxergar[Ô] o método Soma, que recebe um parâmetro, o valor à ser adicionado, por exemplo:
double valor = 1;
double somado = valor.Soma(99);
Neste caso, a variável [Ô]somado[Ô] terá o valor 100, pois é a soma do seu valor adicional(representado pelo primeiro argumento do método de extensão) e o valor à ser somado, que é o parâmetro passado ao método [Ô]Soma[Ô].
Tópico encerrado , respostas não são mais permitidas