BUSCAR DADOS ENTRE DUAS DATAS
Preciso de uma rotina que busque valores entre duas data.
Eis como estou tentando busca-las: Mas não está trazendo de forma correta:
Citação:CloseBanco()
OpenBanco()
OleGrid = New MySqlCommand([Ô]SELECT * FROM ORDEM_SERVICO Where DATA >= [ô][Ô] & TXTDataInicial.Text & [Ô]%[ô] [Ô] & _
[Ô]AND DATA <= [ô][Ô] & TxtDataFinal.Text & [Ô]%[ô] AND FATURADO Like [ô][Ô] & VER & [Ô]%[ô] [Ô] & _
[Ô]ORDER BY DATA[Ô], AbreBanco)
Dim leitor As MySqlDataReader = OleGrid.ExecuteReader
GridOS.Rows.Clear()
Amigo para se fazer pesquisa entre datas utilize a função BETWEEN que exatamente para fazer pesquisa entre dois valores.
SELECT * FROM tabela_x WHERE data_operacao BETWEEN ([ô]data_inicial[ô]) AND ([ô]data_final[ô]);
Lembrando que o formato de data do mysql é yyyy-mm-dd
ficaria +/- assim:
[Ô]SELECT * FROM ORDEM_SERVICO Where DATA between [ô][Ô] & format(TXTDataInicial.Text, [Ô]yyyy-mm-dd[Ô]) & [Ô]%[ô] [Ô] & _
[Ô]AND ( [ô][Ô] & format(TxtDataFinal.Text, [Ô]yyyy-mm-dd[Ô]) & [Ô]%[ô] AND FATURADO Like [ô][Ô] & VER & [Ô]%[ô] [Ô] & _
[Ô]ORDER BY DATA[Ô], AbreBanco)
Citação:CloseBanco()
OpenBanco()
OleGrid = New MySqlCommand([Ô]SELECT * FROM ORDEM_SERVICO Where DATA >= [ô][Ô] & Convert.ToDateTime(TXTDataInicial.Text).ToString([Ô]yyyy/MM/dd[Ô]) & [Ô]%[ô] [Ô] & _
[Ô]AND DATA <= [ô][Ô] & Convert.ToDateTime(TxtDataFinal.Text).ToString([Ô]yyyy/MM/dd[Ô]) & [Ô]%[ô] AND FATURADO Like [ô][Ô] & VER & [Ô]%[ô] [Ô] & _
[Ô]ORDER BY DATA[Ô], AbreBanco)
Dim leitor As MySqlDataReader = OleGrid.ExecuteReader
GridOS.Rows.Clear()
abraços...