Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Alexandre Carmo

Erro ao trazer dados do banco

Recommended Posts

Boa tarde

 

Pessoal tenho uma aplicação desktop em vb.net que busca os dados em um banco mysql, esta tudo funcionando perfeitamente, o único problema é que no mysql tenho um campo date que armazena a data no formato yyyy-MM-dd, porém quando exibo a informação no vb.net ele esta trazedo a informação nesse formato dd/MM/yyyy. O que pode estar ocorrendo? Para a consulta eu uso ado.net, encho um um dataset e exibo por exemplo assim:

 

MessageBox.Show(ds.Tables(0).Rows(0).Item("data").ToString)
veje como estão os meus dados:

 

...
 Public Shared Function VerificaMoradorOnlineSincronismo() As DataSet '' essa camada informa os dados que já foram sincronizados dessa forma eu posso atualizados ou apenas verificar
    Dim ds As New DataSet()
    Dim da As New MySqlDataAdapter()
    Dim sincronizado As String = "nao"
    Dim status As String = "ativado"
    'Criar o objeto do tipo SQLParameterCollection do tipo SQLCommand
    Dim parametros As MySqlParameterCollection = New MySqlCommand().Parameters
    
    Try
      parametros.AddWithValue("?sincronizado", sincronizado)
      parametros.AddWithValue("?status", status)
      Dim sql As String = "select morador.codigo_ap,morador.nome,morador.parentesco,morador.nascimento,morador.cartao,condomino.bloco,condomino.unidade,condomino.codigo_bloco,condomino.status,condomino.cont from morador inner join condomino on morador.codigo_ap=condomino.cont where morador.sincronizado=?sincronizado and condomino.status=?status"
      'Passar parametros
      da = ManipulaDALOnline.SelecionaDadosOnline(sql, parametros)
      da.Fill(ds)
    Catch ex As Exception
      MessageBox.Show("Erro ao sincronizar moradores! Entre em contato com o suporte")
    End Try

    Return ds
  End Function


...
 Dim ds As New DataSet()
 ds = NegociosMoradores.VerificaMoradorOnlineSincronismo()
 If ds.Tables(0).Rows.Count > 0 Then
      For Each registro In ds.Tables(0).Rows
NegociosMoradores.ArmazenaMorador(Convert.ToInt32(registro("cartao").ToString), registro("nome").ToString, Convert.ToInt32(registro("codigo_bloco").ToString), registro("unidade").ToString, Convert.ToInt32(registro("cont").ToString), registro("nascimento").ToString, registro("parentesco").ToString)
  Next
End If
O select da função VerificaMoradorOnlineSincronismo é feito em uma tabela mysql e o campo nascimento nessa tabela é do tipo date. Procurei mais na net mas não consegui resolver, alguém sabe onde esta o erro?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Precisava que você deixasse mais clara a tua necessidade, parece que você precisa passar a data no formato yyyy-MM-dd como no MySQL para a função ArmazenaMorador<br><br>.... se for isso use<br><br>

<br>

    format(ds.Tables(0).Rows(0).Item("data").ToString,"yyyy-MM-dd" )<br>

<br><br>.... uma outra coisa<br><br>Trabalhar com datas é meio enjoado mesmo, mas a primeira coisa que devemos ter em mente é que, o que muda é a forma que a data é exibida.<br><br>.... caso seu problema seja outro. posta aí

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa beleza

Valeu pela ajuda

Então o esquema que vocÊ passou não rolo, fiz uma gambi aqui para funcionar, quebrei a string coloquei em outra variável e na ordem que eu preciso, porém ficou feio o código o ideal é ter uma formatação no estilo dessa que você postou, tem alguma outra idéia?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.