FORMATAR DATAS
Bom dia pessoa, preciso de uma força a respeito de datas, occorre o seguinte, meu banco de dados fica em um servidor simples(banco access), lá as dastas são salvos assim 01/01/2010, ai tem alguns computadores que buscam os dados nesse banco, e em um combobox eu listo as datas que tem no banco para consulta, só que tem computador que traz a data assim 7/7/2014, ai na hora de fazer a consulta da erro, pq meu banco as datas estão assim 07/07/2014, como posso resolver isso para acrescentar os zeros quando a data tiver assim 7/7/2014
O negócio não é acrescentar ou tirar zeros. No seu banco, essas datas estão com que tipo de dados? Se for varchar, é por aà que temos que começar...
Obrigado pela atenção KERPLUNK, então em meu banco está formatado como campo data mesmo, e o banco é access, na maioria dos computadores as datas vem correto, só em alguns computadores que estão com essa data louca.
Se você usar comandos SQL parametrizados, você não precisa se preocupar com isso, o banco entende normal com ou sem zeros
Cara,
O Access guarda a data do formato mês/dia/ano (Isso você já deve saber) então a responsabilidade de enviar este dado corretamente ao Access é do seu código. Vamos ao que interessa:
Você pegaria esta data assim:
O Access guarda a data do formato mês/dia/ano (Isso você já deve saber) então a responsabilidade de enviar este dado corretamente ao Access é do seu código. Vamos ao que interessa:
Public Function trataData(dt As string) As String
Dim vetor() As String = split(dt,[txt-color=#e80000] [Ô]/[Ô][/txt-color])
For A = 0 To vetor.Length - 1
If vetor(A).Length = 1 then vetor(A) = String.Format([txt-color=#e80000][Ô]0{0}[Ô][/txt-color],vetor(A))
Next
trataData = String.Format([txt-color=#e80000][Ô]{0}/{1}/{2}[Ô][/txt-color], vetor(1), vetor(0), vetor(2))
Return trataData
End Function
Você pegaria esta data assim:
Dim sql As String = String.Format([txt-color=#e80000][Ô]SELECT * FROM Banco_Dados WHERE campo_data = #{0}#[Ô][/txt-color], trataData(Me.ComboBox1.Text))
MORCELI,
O jeito que cada computador mostra a data é por causa das configurações regionais de cada máquina. Pelo sim, pelo não, na hora de fazer alguma coisa, eu sempre mando a data nesse formato: #MM/DD/AAAA#.
DateTime dt = DateTime.Now;
string sSQL = [Ô]SELECT * FROM TABELA WHERE DATA = #[Ô] + String.Format([Ô]{0:M/d/yyyy}[Ô], dt) + [Ô]#[Ô];
O jeito que cada computador mostra a data é por causa das configurações regionais de cada máquina. Pelo sim, pelo não, na hora de fazer alguma coisa, eu sempre mando a data nesse formato: #MM/DD/AAAA#.
DateTime dt = DateTime.Now;
string sSQL = [Ô]SELECT * FROM TABELA WHERE DATA = #[Ô] + String.Format([Ô]{0:M/d/yyyy}[Ô], dt) + [Ô]#[Ô];
Sua solução deu certinho PEGUDO, obrigado a todos pela ajuda,
att
att
Tópico encerrado , respostas não são mais permitidas