Como faço para deixar o campo do tipo data/hora em brnaco

26/03/2008

0

Olá pessoal criei um formulário de cadastro que quando eu deixo o campo de data em branco ele me dá um erro de typemismatch, no banco já está configurado para aceitar valor nulo como devo proceder?


Pvioflas

Pvioflas

Responder

Posts

27/03/2008

Hugoestevam

Bom Dia,

Você pode usar o C# Nullable Types, que é uma das grandes invenções feita para auxiliar o desenvolvedor a tratar as desigualdades de tipos entre aplicações que usam orientação a objeto e bando de dados relacional.

Para declarar um tipo Nullable em C é só usar a seguinte declaração:

private DateTime? _shipDate;

public DateTime? ShipDate
{
        get { return _shipDate; }
        set { _shipDate = value; }
}


Note que existe o ´?´ que define que o tipo declarado pode receber ´null´.
Com isso você pode atribuir um valor ´null´ a ela que não irá gerar uma exceção.
Para verificar se o tipo é nulo, você pode fazer de duas maneiras:

if (ShipDate != null) ...

//OU

if (ShipDate.HasValue) ...


Essa ultima opção, HasValue.... Tem Valor?...é permitida graças a estrutura que a variável recebe ao ser declarada do tipo Nullable. Veja a estrutura:
struct Nullable<T>
{
    public bool HasValue;
    public T Value;
}


E é isso, qualquer coisa de uma olhada em C# Nullable Types na internet.

Valeu!


Responder

30/03/2008

Pvioflas

Venci a Exception agora o que não estou consguindo vencer é gravar no banco o valor nulo, na hora do insert ele diz que o tipo de dados é incompativel.

Estou pesquisando a dias e não consigo fechar esse assunto.


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