none
Select por data so funciona no emulador RRS feed

  • Pergunta

  •  

    Ola pessoal,

     

    Tenho um metodo que retorna uma dataset:

     

    dsLevantamento = acesso.RetornarDataset("Select * from tblLevantamento Where dt_levantamento = '" & Me.dtpLevantamento.Text & "'")

     

    Public Function RetornarDataset(ByVal strQuery As String) As DataSet

    Dim cn As New SqlCeConnection

    Try

    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

    Finally

    FecharBanco(cn)

    End Try

    End Function

     

    Funciona 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

    terça-feira, 1 de julho de 2008 03:44

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

     

    terça-feira, 1 de julho de 2008 17:57
  • 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

    terça-feira, 1 de julho de 2008 23:17
  • Cara, tentou ver se os dois (emulador e aparelho) estão com o mesmo padrão de datas?

    Márcio.
    quinta-feira, 3 de julho de 2008 13:02
  • Então Marcio, Eu mudei para Ingles (Estados Unidos) e formato MM/dd/yy e funcionou. Mas assim fica ruim. O que tenho que fazer para que no device funcione em Portugues(Brasil) dd/MM/yy.

     

    Grato.

     

    Edson

     

    sexta-feira, 4 de julho de 2008 02:39
  • EdsonZ
    Aí chega no ponto do tópico que postei Big Smile

    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.
    sexta-feira, 4 de julho de 2008 11:55
  • 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.ToString

     

    Funcionou perfeitamente

     

    Grato.

     

    Edson

     

    sexta-feira, 4 de julho de 2008 21:56