CONSULTA DE DATAS VB X MYSQL5
Oi, estou com uma duvida a respeito desse código em VB6:
[txt-color=#080808]SQL = [Ô]Select * From Cad_Entr Where [Ô]
SQL = SQL & [Ô]Mid(Data,7,4) & Mid(Data,4,2) & Mid(Data,1,2) >= [ô][Ô]
SQL = SQL & Mid(DataInicial.Text, 7, 4) & Mid(DataInicial.Text, 4, 2) & Mid(DataInicial.Text, 1, 2) & [Ô][ô] And [Ô]
SQL = SQL & [Ô]Mid(Data,7,4) & Mid(Data,4,2) & Mid(Data,1,2) <= [ô][Ô]
SQL = SQL & Mid(DataFinal.Text, 7, 4) & Mid(DataFinal.Text, 4, 2) & Mid(DataFinal.Text, 1, 2) & [Ô][ô][Ô]
SQL = SQL & [Ô]Order by Mid(Data,7,4)& Mid(Data,4,2) & Mid(Data,1,2)[Ô][/txt-color]
Estou acostumado ao usar banco de dados ACCESS, e exportei esse banco de dados para MYSQL 5.
Essa consulta busca registros por um perÃodo de data, ex: de 01/01/2011 até 01/01/2012. No ACCESS ocorria tudo normal, agora no MYSQLl ele não retorna nenhum registro.
Alguém poderia me ajudar sobre o que pode estar faltando??
Obrigado.
[txt-color=#080808]SQL = [Ô]Select * From Cad_Entr Where [Ô]
SQL = SQL & [Ô]Mid(Data,7,4) & Mid(Data,4,2) & Mid(Data,1,2) >= [ô][Ô]
SQL = SQL & Mid(DataInicial.Text, 7, 4) & Mid(DataInicial.Text, 4, 2) & Mid(DataInicial.Text, 1, 2) & [Ô][ô] And [Ô]
SQL = SQL & [Ô]Mid(Data,7,4) & Mid(Data,4,2) & Mid(Data,1,2) <= [ô][Ô]
SQL = SQL & Mid(DataFinal.Text, 7, 4) & Mid(DataFinal.Text, 4, 2) & Mid(DataFinal.Text, 1, 2) & [Ô][ô][Ô]
SQL = SQL & [Ô]Order by Mid(Data,7,4)& Mid(Data,4,2) & Mid(Data,1,2)[Ô][/txt-color]
Estou acostumado ao usar banco de dados ACCESS, e exportei esse banco de dados para MYSQL 5.
Essa consulta busca registros por um perÃodo de data, ex: de 01/01/2011 até 01/01/2012. No ACCESS ocorria tudo normal, agora no MYSQLl ele não retorna nenhum registro.
Alguém poderia me ajudar sobre o que pode estar faltando??
Obrigado.
Veja bem no mysql o campo deve estar como data/hora, acima parece estar como texto, e é pesquisado por partes da string, estranho né.
bom a consulta é simples quando o campo é data e hora só a formatação que muda
viu como é simples
bom a consulta é simples quando o campo é data e hora só a formatação que muda
SQL = [Ô] SELECT * FROM tabela WHERE campodata BETWEEN [ô][Ô] & Format(txtdataIni.Text,[Ô]YYYY-MM-DD[Ô]) & [Ô][ô] AND [ô][Ô] & Format(txtdataFim.Text,[Ô]YYYY-MM-DD[Ô]) & [Ô][ô][Ô]
viu como é simples
valeu vou tentar
Então tentei mudar, mas no mysql dá um erro na mudança de varchar para data/hora pois já há registros lá, provalvelmente o erro é causado porque registros são string.
Como já tenho registros inseridos, será q não tem algum código que faça com que ele busque mesmo o campo sendo varchar, porque no trecho abaixo no momento que ele faz o cadastro ele insere um valor de um textbox no tipo texto, mas é no caso é uma data no formato brasileiro e o mysql trabalha no formato YYYY-MM-DD.
SQL = [Ô]Insert Into Cad_Entr(Fornecedor, Nota, Descricao, Quantidade, Data, Observacao, Codigo_Usu, Usuario) Values([ô][Ô] & cmbFornecedores.Text & [Ô][ô],[ô][Ô] & txtNota.Text & [Ô][ô],[ô][Ô] & cmbProdutos.Text & [Ô][ô],[ô][Ô]
SQL = SQL & txtQuantidade.Text & [Ô][ô],[ô][Ô] & Data.Text & [Ô][ô],[ô][Ô] & txtObservacao.Text & [Ô][ô],[ô][Ô] & Codigo & [Ô][ô],[ô][Ô] & Globais.Usuario & [Ô][ô])[Ô]
E agora qual seria a melhor forma de eu fazer? Terei q mudar reestruturar o bd? Inclusive parte do código acima?
Vlw
Como já tenho registros inseridos, será q não tem algum código que faça com que ele busque mesmo o campo sendo varchar, porque no trecho abaixo no momento que ele faz o cadastro ele insere um valor de um textbox no tipo texto, mas é no caso é uma data no formato brasileiro e o mysql trabalha no formato YYYY-MM-DD.
SQL = [Ô]Insert Into Cad_Entr(Fornecedor, Nota, Descricao, Quantidade, Data, Observacao, Codigo_Usu, Usuario) Values([ô][Ô] & cmbFornecedores.Text & [Ô][ô],[ô][Ô] & txtNota.Text & [Ô][ô],[ô][Ô] & cmbProdutos.Text & [Ô][ô],[ô][Ô]
SQL = SQL & txtQuantidade.Text & [Ô][ô],[ô][Ô] & Data.Text & [Ô][ô],[ô][Ô] & txtObservacao.Text & [Ô][ô],[ô][Ô] & Codigo & [Ô][ô],[ô][Ô] & Globais.Usuario & [Ô][ô])[Ô]
E agora qual seria a melhor forma de eu fazer? Terei q mudar reestruturar o bd? Inclusive parte do código acima?
Vlw
Sobre a frase: [Ô]Não instale o Windows 7 SP1 em máquinas de desenvolvimento.[Ô] tem algum problema, pois a semana passada comprei uma maquina nova com Windows 7 SP1 64 bits.
Pode dar algum problema?
Pode dar algum problema?
bom pessoal, só pra esclacere quando a micorsoft lançou o seven sp1, ele veio sim com incopatibilidades binárias, porém alguns destes erros ja foram resolvidos, porém se for desenvolver um sistema usando ADO no seven ele só funcionará no seven, porém ja existem uma atualização da microsoft que corrige este problema.
Então sobre a minha 2º duvida alguém tem alguma ideia como se faça?
Vlw....
Vlw....
colega qual o formato da dta no banco, já que está salvo como texto
o formato é varchar
Ops...formato dd/MM/yyyy o tipo q é varchar.
Vlw
Vlw
Tópico encerrado , respostas não são mais permitidas