DATA INVALIDA

LEANDRO 15/06/2011 14:54:16
#376839
Boa Tarde a Todos.
Tenho um TextBox na minha pagina

                            <asp:TextBox ID=[Ô]txtDtNasc[Ô] runat=[Ô]server[Ô]  
BorderColor=[Ô]#6A6AFF[Ô] BorderStyle=[Ô]Solid[Ô] Width=[Ô]80px[Ô]></asp:TextBox>


porem estou com um problema, quando estou com uma data no Banco de Dados ele traz corretamente, porem se a data estiver em branco, ele da o seguinte erro.

Unable to convert MySQL date/time value System.DateTime

segue o codigo

            DateTime DataAposentadoria =  ConverterData(objConexao.DtReader[[Ô]DATAAPOSENT[Ô]].ToString());


   static DateTime ConverterData(string data)
{
var formatoData = new System.Globalization.DateTimeFormatInfo { ShortDatePattern = [Ô]MM/dd/yyyy[Ô] };
return DateTime.Parse(data, formatoData);
}
ALELUIZ 15/06/2011 15:26:54
#376843
Leandro
Não manjo de Asp.net mas se antes de converter o campo em Data verifica se a string tem valor tive este problema em vb que contornei assim:


If campoDb & [Ô][Ô] <> [Ô][Ô] then
Executaconversao
end if
LEANDRO 15/06/2011 15:44:35
#376847
ja fiz isso cara

            if (objConexao.DtReader[[Ô]DATAAPOSENT[Ô]].Equals([Ô][Ô]))
{
DateTime DataAposentadoria = ConverterData(objConexao.DtReader[[Ô]DATAAPOSENT[Ô]].ToString());
};


e da o erro quando chega no IF
TECLA 17/06/2011 20:12:32
#377132
Resposta escolhida
Tenta fazer um TryParse da Data, se o resultado for True, então a data é válida!
VELOSITE 18/06/2011 15:35:17
#377157
Porque vc ja não faz o filtros com os valores não nulos ? alguma razaão especial ?
LEANDRO 20/06/2011 15:41:20
#377265
Tecla
fiz assim e continua com o mesmo erro

            DateTime dateValue ;
if (DateTime.TryParse(objConexao.DtReader[[Ô]CONJ_NASCTO[Ô]].ToString(), out dateValue))
{
txtDtAdmissao.Text = objConexao.DtReader[[Ô]CONJ_NASCTO[Ô]].ToString();
}

ele da o erro e para no if(DateTime.TryParse...)

Velosite

Não entendi a sua pergunta cara

Obrigado
TECLA 26/06/2011 21:08:40
#377788
Teste a rotina abaixo e veja o resultado.
string strData = [Ô]26/tecla/2010[Ô];
DateTime dtData;
if (DateTime.TryParse(strData, out dtData))
MessageBox.Show([Ô]Data OK![Ô]);
else
MessageBox.Show([Ô]Data Não OK![Ô]);
LEANDRO 27/06/2011 10:31:42
#377817
Tecla, Bom Dia.
ele sai no Else, data não ok
TECLA 27/06/2011 20:47:46
#377885
Você atentou para a data que está armazenada na variável strData?
string strData = [Ô]26/tecla/2010[Ô];
LEANDRO 28/06/2011 10:05:06
#377918
Sim, porem tecla quando tento armazenar a minha data do banco de dados em uma variavel ele da erro, antes mesmo de ele fazer o if

string stringData = objConexao.DtReader[[Ô]DTAPOSENT[Ô]].ToString();


e da o erro

Unable to convert MySQL date/time value to System.DateTime

Ja tentei assim

DateTime stringData = Convert.ToDateTime(objConexao.DtReader[[Ô]DTAPOSENT[Ô]].ToString());

e ele da o mesmo erro, o problema que tenho não é no if e sim quando coloco esse conteudo em uma variavel

ja Tentei não colocar em uma variavel e jogar esse campo direto no if e da o mesmo erro
JANDER 28/06/2011 12:24:32
#377930
quando não existir data vc deve passar o valor [Ô]null[Ô] para o banco de dados

ex.: stringData = [Ô]Null[Ô]
Página 1 de 2 [13 registro(s)]
Tópico encerrado , respostas não são mais permitidas