• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

RicardoBastos

datetime , pesquisa BD (RESOLVIDO)

7 mensagens neste tópico

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

yap

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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()

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora