Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

rafaeldupalio

Consulta por data inicio e data fim

Recommended Posts

Galera tenho o seguinte codigo que funcionava perfeitamente com banco de dados access .mdb

 

'recolhendo as datas do formulario
var_datai = trim(request.form("datai"))
var_dataf = trim(request.form("dataf"))
' Verifica Datai, se é válida
data_teste = trim(request.form("datai"))
ano = right(data_teste,4)'Seleciona Ano
mes = right(data_teste,7)'Seleciona mês e ano
mes = left(mes,2) 'seleciona mes
dia=left(data_teste,2) ' seleciona o dia
datai = ano&"/"&mes&"/"&dia
datai_brasileira = dia&"/"&mes&"/"&ano
if IsDate(datai) = False Then
Response.Write("<script language='JavaScript'>alert('Data inicial Inválida use o formato DD/MM/AAAA!');location.href='Atualizar_brasfels.asp';</script>")
else
'Verifica Dataf, se é válida
data_test = trim(request.form("dataf"))
ano = right(data_test,4)'Seleciona Ano
mes = right(data_test,7)'Seleciona mês e ano
mes = left(mes,2) 'seleciona mes
dia=left(data_test,2) ' seleciona o dia
dataf = ano&"/"&mes&"/"&dia
dataf_brasileira = dia&"/"&mes&"/"&ano
if IsDate(dataF) = False Then
Response.Write("<script language='JavaScript'>alert('Data Final Inválida use o formato DD/MM/AAAA!');location.href='Atualizar_brasfels.asp';</script>")
end if
end if
Function invertdata(data)
d=day(cdate(data))
m=month(cdate(data))
a=year(cdate(data))
invertdata = m & "/"& d & "/" & a
SESSION("Vdatai")=var_datai
SESSION("Vdataf")=var_dataf
end function
var_datai = invertdata(var_datai)
var_dataf = invertdata(var_dataf)
%>
<%
'realiza o select
vSql = "select * from tab_atualizar_brasfels where data between #"&var_datai&"# and #"&var_dataf&"# order BY codigo DESC"
set myrst = server.createObject("ADODB.Recordset")
myRst.Open vSql, conn, 3,3
%>
migrei para o mysql e agora qnd pesquiso aparece o seguinte erro:

Microsoft OLE DB Provider for ODBC Drivers erro '80040e21'

O driver ODBC não oferece suporte para as propriedades solicitadas.

/cyder/Atualizar_bf_consulta_data.asp, line 56

a linha 56 esta em negrito

'realiza o select
vSql = "select * from tab_atualizar_brasfels where data between #"&var_datai&"# and #"&var_dataf&"# order BY codigo DESC"
set myrst = server.createObject("ADODB.Recordset")
myRst.Open vSql, conn, 3,3


 

Compartilhar este post


Link para o post
Compartilhar em outros sites

coloque

myRst.Open vSql, conn,1,3
teste e depois dê um response.write na sua string SQL
Isso pode acontecer se você usar um objeto ADODB.Recordset adOpenStatic para abrir o Excel, ou usar um conjunto de registros adOpenKeyset para realizar a paginação,

Basicamente, certifique-se os métodos / propriedades que você está usando são suportadas pelo driver/provider, e você está usando para acessar seus dados.

Se você está executando um stored procedure, certifique-se de fazê-lo através do método() connection.execute , ao invés de um objeto de comando, e adicione as seguintes linhas de código para o início do seu processo:

SET ANSI_NULLS OFF
SET NOCOUNT ON

veja se você estiver usando ADODB.Recordset, e a metodologia AddNew / Update, Se você tiver certeza que estão corretas, certifique-se que você tem a versão mais recente do MDAC

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

coloque

myRst.Open vSql, conn,1,3
teste e depois dê um response.write na sua string SQL
Isso pode acontecer se você usar um objeto ADODB.Recordset adOpenStatic para abrir o Excel, ou usar um conjunto de registros adOpenKeyset para realizar a paginação,

 

Basicamente, certifique-se os métodos / propriedades que você está usando são suportadas pelo driver/provider, e você está usando para acessar seus dados.

 

Se você está executando um stored procedure, certifique-se de fazê-lo através do método() connection.execute , ao invés de um objeto de comando, e adicione as seguintes linhas de código para o início do seu processo:

 

SET ANSI_NULLS OFF

SET NOCOUNT ON

 

veja se você estiver usando ADODB.Recordset, e a metodologia AddNew / Update, Se você tiver certeza que estão corretas, certifique-se que você tem a versão mais recente do MDAC

 

caramba xanbur boiei legal agora vou levar uma semana pra digerir tanta informação! rsrs mudei para myRst.Open vSql, conn,1,3 e nao deu certo vc quer ver o codigo de conexao, é isso? desculpe mas sou bem leigo

Compartilhar este post


Link para o post
Compartilhar em outros sites

no código de conexão, verifique o caminho do bd. e se o MDAC está atualizado

Compartilhar este post


Link para o post
Compartilhar em outros sites

no código de conexão, verifique o caminho do bd. e se o MDAC está atualizado

xanburzun acho que a conexao esta ok pq consigo listar e consultar por nome so pela data que estou tendo problemas. e oke seria MDAC?

 

 

help me!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

vc pode converter antes sua data...

Compartilhar este post


Link para o post
Compartilhar em outros sites

fala ae galera obrigado pela ajuda consegui resolver, bem vamos lá:

#1 aprendi que o mysql difere maiusculas e minusculas ja o access nao( isso me mostrou que tenho algumas paginas fora de padrao)

 

#2 Como o Ronaldo Bueno disse o Mysql trabalha com aaaa-mm-dd em cima disso com o xanburzum falou precisa converter

 

#3 essa msg de erro "O driver ODBC não oferece suporte para as propriedades solicitadas" é referente a erro na instrução sql

 

#4 Como o Ronaldo tbm disse nao precisa do # e para passar a data corretamente usa-se aspa simples aspas duplas e a variavel fecha aspas duplas e aspas simples.

 

#5 Se o banco usa datetime o formato a ser introduzido é aaaa-mm-dd 00:00:00 ou seja precisa obrigatoriamente ter esse espaço entre a data e a hora. apanhei bastante ate descobrir isso.

 

#6 vamos a solução né:

<%

'recolhendo as datas do formulario
var_datai = trim(request.form("datai"))
var_dataf = trim(request.form("dataf"))
' Verifica Datai, se é válida
data_teste = trim(request.form("datai"))
ano = right(data_teste,4)'Seleciona Ano
mes = right(data_teste,7)'Seleciona mês e ano
mes = left(mes,2) 'seleciona mes
dia=left(data_teste,2) ' seleciona o dia
datai = ano&"/"&mes&"/"&dia
datai_brasileira = dia&"/"&mes&"/"&ano
if IsDate(datai) = False Then
Response.Write("<script language='JavaScript'>alert('Data inicial Inválida use o formato DD/MM/AAAA!');location.href='Atualizar_brasfels.asp';</script>")
else
' Verifica Dataf, se é válida
data_test = trim(request.form("dataf"))
ano = right(data_test,4)'Seleciona Ano
mes = right(data_test,7)'Seleciona mês e ano
mes = left(mes,2) 'seleciona mes
dia=left(data_test,2) ' seleciona o dia
dataf = ano&"/"&mes&"/"&dia
dataf_brasileira = dia&"/"&mes&"/"&ano
if IsDate(dataF) = False Then
Response.Write("<script language='JavaScript'>alert('Data Final Inválida use o formato DD/MM/AAAA!');location.href='Atualizar_brasfels.asp';</script>")
end if
end if
'função para inverter a data
Function invertdata(data)
d=day(cdate(data))
m=month(cdate(data))
a=year(cdate(data))
invertdata = a & "/"& m & "/" & d
SESSION("Vdatai")=var_datai
SESSION("Vdataf")=var_dataf
end function
var_datai = invertdata(var_datai)
var_dataf = invertdata(var_dataf)
hora_ini="06:30:01"
hora_cad=""&time
'data e hora atual
var_datai = var_datai&" "&hora_ini
var_dataf = var_dataf&" "&HORA_CAD
'realiza o select
vSql = "select * from TAB_ATUALIZAR_BRASFELS where (DATA between '"&var_datai&"' and '"&var_dataf&"')order BY CODIGO DESC;"
set myrst = server.createObject("ADODB.Recordset")
myRst.Open vSql, conn, 3,3
%>

Queria agradecer a ajuda do xanbur e do Ronaldo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beleza...

 

10168109_843665002343964_489571387867879

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.