FORMATAR DATA ANTES DE GERAR XML

RODOLFOREJ 25/06/2013 00:53:24
#425173
boa noite, amigos tenho esse codigo que peguei na net, que gera um arquivo xml, porem a coluna do banco de dados que tem formato de data vem AAAA-MM-DD e preciso dd-mm-aaaa, ja modifiquei no banco mas memso assim ele exporta pro xml com formato date ingles...
teria como ao invez de gerar todas as colunas eu selecionalas e assim poderia criar uma função ou codigo que gerasse a data como quero..
segue codigo:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click


Dim source As String = [Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source=bdsistema.mdb[Ô]
Dim sql As String = [Ô]SELECT * FROM clientes[Ô]
Dim conn As OleDbConnection = New OleDbConnection(source)

lblmsg.Text = [Ô]Abrindo banco de dados e gerando dataset[Ô]

conn.Open()

Dim adapter As OleDbDataAdapter = New OleDbDataAdapter(sql, conn)
Dim ds As DataSet = New DataSet

Try
adapter.Fill(ds)

Catch ex As Exception
MsgBox(ex.Message)
Finally
conn.Close()
End Try

ds.Tables(0).TableName = [Ô]TabelaClientes[Ô]
ds.DataSetName = [Ô]Clientes[Ô]

Try
ds.WriteXml([Ô]rel\extrato.xml[Ô])
lblmsg.Text = [Ô]Arquivo XML gerado com sucesso em =rel\extrato.xml[Ô]
Catch ex As Exception
MsgBox(ex.Message)
End Try

End Sub
RODOLFOREJ 26/06/2013 14:20:09
#425254
ninguem ??? rsrs
MARCELO.TREZE 26/06/2013 15:38:05
#425263
vc alterou o formato de data do windows?
RODOLFOREJ 26/06/2013 16:17:21
#425266
no windows e no banco esta no formato correto, somente na exportação que esta errado.
sei que os resultados da consulta sql estao armazenados nozseguinte codigo:
Dim adapter As OleDbDataAdapter = New OleDbDataAdapter(sql, conn)
Dim ds As DataSet = New DataSet

Try
adapter.Fill(ds)

[Ô]adapter.fill(ds)[Ô] pega todos os dados do banco, tem como pegar somente algumas colunas?
por exemplo se conseguir desmenbrar isso, consigo criar alguma rotina para retornar o valor da data do geito que eu quero.

obrigado.
KERPLUNK 26/06/2013 16:54:49
#425269
Mostre-nos a função [Ô]WriteXml[Ô]
RODOLFOREJ 26/06/2013 21:12:44
#425278
Ola ...

Dim source As String = [Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source=bdsistema.mdb[Ô]
Dim sql As String = [Ô]SELECT * FROM clientes[Ô]
Dim conn As OleDbConnection = New OleDbConnection(source)

lblmsg.Text = [Ô]Abrindo banco de dados e gerando dataset[Ô]

conn.Open()

Dim adapter As OleDbDataAdapter = New OleDbDataAdapter(sql, conn)
Dim ds As DataSet = New DataSet

Try
adapter.Fill(ds)

Catch ex As Exception
MsgBox(ex.Message)
Finally
conn.Close()
End Try

ds.Tables(0).TableName = [Ô]TabelaClientes[Ô]
ds.DataSetName = [Ô]Clientes[Ô]

Try
ds.WriteXml([Ô]rel\extrato.xml[Ô])
lblmsg.Text = [Ô]Arquivo XML gerado com sucesso em =rel\extrato.xml[Ô]
Catch ex As Exception
MsgBox(ex.Message)
End Try

[txt-color=#e80000]continuação como solicitou[/txt-color]

Dim writer As XmlTextWriter
Dim doc As XmlDocument = New XmlDocument
doc.Load([Ô]rel\extrato.xml[Ô])

lblmsg.Text = [Ô]Transformando XML gerado no arquivo extrato.html[Ô]

[ô] Creia um XPathNavigator para usar na transformação
Dim root As XmlElement = doc.DocumentElement
Dim nav As XPathNavigator = root.CreateNavigator()

[ô] Transforma o arquivo xml em html usando o xsl
Dim xslt As XslTransform = New XslTransform
Try
xslt.Load([Ô]rel\extrato_bancario.xsl[Ô])
Catch ex As Exception
MsgBox(ex.Message)
End Try

Try
writer = New XmlTextWriter([Ô]rel\extrato.html[Ô], Nothing)
Catch ex As Exception
MsgBox(ex.Message())
End Try

Try
xslt.Transform(nav, Nothing, writer, Nothing)
lblmsg.Text = [Ô]Arquivo HTML gerado com sucesso ![Ô]
Catch ex As Exception
MsgBox(ex.Message)
Finally
[ô]Me.Close()
End Try
WebBrowser1.Navigate(Application.StartupPath & [Ô]el\extrato.html[Ô])[txt-size=2] [/txt-size]
MARCELO.TREZE 27/06/2013 10:41:22
#425298
colega eu pesquisei e não achei [Ô]nenhuma solução[Ô], na realidade cheguei a uma conclusão, e aconselho você a testar, que seria transformar o campo data, que é date time, em tipo texto.
MARCELO.TREZE 27/06/2013 10:48:52
#425299
antes de alterar o tipo de campo tente o seguinte

 Dim sql As String = [Ô]SELECT CSTR([ocampodata]), * FROM clientes[Ô]
MARCELO.TREZE 27/06/2013 11:18:37
#425301
Qual vb você está utilizando?

em ADO.NET existe uma solução.

OCELOT 27/06/2013 11:36:05
#425302
Ele salva a data no formato padrão para XML, que é do tipo 2013-06-27T11:32:00-03:00

Tem duas formas de você conseguir colocar a data no formato que você quer, a difícil é usando templates no XSLT, a fácil é formatando e convertendo para texto na consulta SQL, o que varia de acordo com o tipo de banco de dados usado.
Faça seu login para responder