Jump to content

Recommended Posts

Posted

Boas, tenho uma duvida sobre a formatação de uma variável do tipo datetime, consigo gravar na base de dados com a formatação default mas quando faço uma pesquisa dá me uma erro, "Tipo de dados incorrectos", já tentei mudar tudo e mais alguma coisa e nada resulta  :wallbash:

Aqui atribui-o o valor seleccionado do monthcalendar


novadata = Me.MonthCalendar1.SelectionRange.Start
principal.TextBox3.Text = novadata

aqui faço uma pesquisa

             

sql1 = "SELECT * FROM movi WHERE iban LIKE '" & ibanact & "' AND dataent <= '" & TextBox3.Text & "' ORDER BY dataent ASC , codmovi ASC ;"

        da1.SelectCommand.CommandText = sql1
        dsmovimentos.Clear()
        da1.Fill(dsmovimentos, "movi")

o erro é no dataent <= '" & TextBox3.Text & "' tabem já substitui isto pela variável novada data e dá erro na mesma

Alguém me pode ajudar?

Cumps

Posted

da erro..ou não te devolve resultados?

Já agora... esta expressão "Me.MonthCalendar1.SelectionRange.Start" devolve-te uma data?

Depende também da base de dados que está a usar... se usares access, tens que por a adata entre #.

Por outro lado, convém formatares as duas datas com o mesmo formato... por exemplo yyyy-MM-dd.

Vê se funciona!

Quando te pedirem peixe.... ensina-os a Pescar!!Hum..lálálálá!!

Posted

Experimenta substituir TextBox3.Text por DateTime.Parse(TextBox3.Text)

já tentei e não dá

da erro..ou não te devolve resultados?

Já agora... esta expressão "Me.MonthCalendar1.SelectionRange.Start" devolve-te uma data?

Depende também da base de dados que está a usar... se usares access, tens que por a adata entre #.

Por outro lado, convém formatares as duas datas com o mesmo formato... por exemplo yyyy-MM-dd.

Vê se funciona!

dá erro com este texto "Tipo de dados incorrectos"

E sim devolve no formato dd,mm,yyyy tenho do converter isto para mm,dd,yyyy

já alterei o formato, e tou a usar access , vou experimentar usar  "#", tenho de meter #textbox3.text# ,certo?

depois digo se deu certo

cumps

Posted

Sim, tens de colocar os cardinais, ou melhor ainda, pensares em usar parameters. É muito simples de implementar e resolves muitos problemas desses.

penso que não é necessário, obrigado pela ajuda já tenho a resolução 

sql1 = "SELECT * FROM movi WHERE iban LIKE '" & ibanact & "' AND dataent <= #" & TextBox3.Text & "# ORDER BY dataent ASC , codmovi ASC ;"
        da1.SelectCommand.CommandText = sql1

        dsmovimentos.Clear()
        conn.Open()
        da1.Fill(dsmovimentos, "movi")
        conn.Close()

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.