Inquiridor
Select por data so funciona no emulador

Pergunta
-
Ola pessoal,
Tenho um metodo que retorna uma dataset:
dsLevantamento = acesso.RetornarDataset(
"Select * from tblLevantamento Where dt_levantamento = '" & Me.dtpLevantamento.Text & "'")cn = AbrirBanco()
Dim cmdcCommand As New SqlCeCommand With cmdcCommand.CommandText = strQuery.ToString
.CommandType = CommandType.Text
.Connection = cn
.ExecuteNonQuery()
End With Dim dtAdapter As New SqlCeDataAdapter Dim dsDataset As New DataSet With dtAdapter.SelectCommand = cmdcCommand
.Fill(dsDataset)
End With Return dsDataset Catch ex As Exception Throw ex FinallyFecharBanco(cn)
End Try End FunctionFunciona perfeitamente no emulador PPC 2003 SE (VS2005) quando do um deploy no meu device WM 6,0 (PT) da erro nos meses maiores que 12. Parece ser data invertida. Ja formatei de varias maneiras, porem sem sucesso.
Alguem ja passou por isso?
Grato.
Edson
Todas as Respostas
-
Caro amigo eu acho que vc cometeu algum erro na hora de postar a sua duvida pois em qualque aplicação que receber os meses maiores que 12 , com certeza vai dar erro.
farei o possivel para lhe ajudar mas preciso que vc seja mais claro.
até + Edson
-
Realmente cometi um erro. O problema é o seguinte. No emulador a data esta no formato MM/dd/yyyy e no meu device esta dd/MM/yyyy. Quando escolho no no device 13/07/2008 o sistema entende como 07/13/2008 e provoca erro. quando digito 01/12/2008 funciona normalmnte.
Grato.
Edson
-
-
-
EdsonZ
Aí chega no ponto do tópico que postei
Assim....
No asp.net normal (sem ser mobile) e usando o sql server normal (sem ser sql compact) você pode setar o formato de data no própria string sql. Por exemplo: SET DATEFORMAT DMY; SELECT CAMPO FROM TABELA WHERE......
Só que ao fazer isso ele tá dando pau direto aqui no meu.
Daí o Agles sugeriu, no tópico http://forums.microsoft.com/MSDN-BR/ShowPost.aspx?PostID=3559000&SiteID=21, de fazer convertendo o campo data, que foi a solução do meu problema. Passando os tamanhos corretos funciona 100%.
Abraço,
Márcio. -
Ola Marcio,
Resolvi passando a data como string no formato do sql mobile yyyy-mm-dd.
strData = Me.dtpLevantamento.Value.Year.ToString & "-" & _
Me.dtpLevantamento.Value.Month.ToString & "-" & _
Me.dtpLevantamento.Value.Day.ToStringFuncionou perfeitamente
Grato.
Edson