FORMATAR DATA

MAXGUIMEL 13/01/2011 18:44:11
#362207
Creio que deve ser um problema facil de resolver, mas ja quebrei a cabeça e não consegui.
Seguinte:

Tenho datas armazenadas no banco e quando retorno os valores eles vem assim: 13/01/2011 00:00:00, preciso que venha somente a data e não as horas juntos ou seja preciso que retorne somente 13/01/2011.

Minha query:

[ô]cria um objeto command
OleObitos = New OleDbCommand([Ô]SELECT Nome, Data_falecimento, Data_sepultamento, Plano, Usuario, [Ô] & _
[Ô]Codigo FROM Obitos ORDER BY Nome[Ô], OpenDB)

Dim leitor As OleDbDataReader = OleObitos.ExecuteReader
Dim i As Integer = 0

[ô] ESTE PROCEDIMENTO JA TRAZ AS COLUNAS PRONTAS do banco COM O NOME DOS CAMPOS
[ô]For i = 0 To leitor.FieldCount - 1
[ô] ListObitos.Columns.Add(leitor.GetName(i).ToString, 110, HorizontalAlignment.Left)
[ô]Next

[ô]Criando as Colunas
ListObitos.Columns.Add([Ô]Nome[Ô], 350, HorizontalAlignment.Left)
ListObitos.Columns.Add([Ô]Falecimento[Ô], 200, HorizontalAlignment.Center)
ListObitos.Columns.Add([Ô]Sepultamento[Ô], 200, HorizontalAlignment.Center)
ListObitos.Columns.Add([Ô]Plano[Ô], 150, HorizontalAlignment.Left)
ListObitos.Columns.Add([Ô]Usuario[Ô], 150, HorizontalAlignment.Left)
ListObitos.Columns.Add([Ô]Codigo[Ô], 150, HorizontalAlignment.Right)


ListObitos.View = View.Details

Do While leitor.Read()

Dim novoitem As New ListViewItem()

novoitem.Text = leitor(0)

For i = 1 To leitor.FieldCount - 1

If leitor(i) Is DBNull.Value Then
novoitem.SubItems.Add([Ô] [Ô])
Else
novoitem.SubItems.Add(leitor.Item(i).ToString)
End If

Next
ListObitos.Items.Add(novoitem)
Loop


Onde eu devo formatar para não aparecer as horas???

O banco é em access.
JONATHANSTECKER 13/01/2011 20:15:12
#362216
Resposta escolhida
Tente substituir esse comando...
novoitem.SubItems.Add(leitor.Item(i).ToString)


Por este...
Dim Item as String = leitor.Item(i).ToString
novoitem.SubItems.Add(IIf(IsDate(Item), Format(CDate(Item), [Ô]dd/MM/yyyy[Ô]), Item))
MAXGUIMEL 14/01/2011 01:07:08
#362242
JONATHANSTECKER
Não deu certo porque os campos contem strings tambem e não só data, da erro quando encontra um campo string ou numerico
JONATHANSTECKER 14/01/2011 07:57:20
#362244
Assim é para funcionar...

Dim Item as String = leitor.Item(i).ToString
If IsDate(Item) Then
novoitem.SubItems.Add(Format(CDate(Item), [Ô]dd/MM/yyyy[Ô]))
Else
novoitem.SubItems.Add(Item)
End If
MAXGUIMEL 24/01/2011 13:07:10
#363254
Opa blz, deu certinho, obrigado!
Tópico encerrado , respostas não são mais permitidas