Ir para conteúdo

POWERED BY:

Arquivado

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

Boris

Erro de tempo de execução

Recommended Posts

Galera estou com problema neste codigo abaixo, é o seguinte quando coloco pra execuar aparece o seguinte erro :

 

Tipo de erro:

Erro de tempo de execução do Microsoft VBScript (0x800A01B6)

O objeto não dá suporte para a propriedade ou método: 'Dados.BOF'

/Sistema/teste3.asp, line 10

 

o que será que está acontecendo, aparentimente esta tudo certinho , lembrando meu bd é SQL

 

<%
icont=1
SQL = "SELECT * FROM dbo.bancos"
	Dados = conexao.Execute(SQL)

if Dados.BOF AND Dados.EOF then
	response.write ""
else
	while NOT Dados.EOF AND Dados <=8
	intConta = intConta + 1
%>

<%=Dados("nome_banco") %><%=Dados("banco")%><br><br>

<%
Dados.MoveNext
Wend
end if
%>

Valew galera pela força

Abs http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok, eis logo abaixo o codigo completo.

 

valew

 

 

<%
set conexao=server.CreateObject("adodb.connection")
dados_sys = "Provider=sqloledb;Data Source=localhost;Initial Catalog=bd_teste;User Id=sa;Password=12345;"
conexao.open dados_sys

intConta=1
SQL = "SELECT * FROM dbo.bancos"
	Dados = conexao.Execute(SQL)

if Dados.BOF AND Dados.EOF then
	response.write ""
else
	while NOT Dados.EOF AND Dados <=8
	intConta = intConta + 1

%>

<%=Dados("nome_banco") %><%=Dados("banco")%><br><br>

<%
Dados.MoveNext
Wend
end if
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

<%
set conexao=server.CreateObject("adodb.connection")
dados_sys = "Provider=sqloledb;Data Source=localhost;Initial Catalog=bd_teste;User Id=sa;Password=12345;"
conexao.open dados_sys

intConta=1
Set Dados = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT * FROM dbo.bancos"
Dados.Open SQL, conexao, 3

if Dados.BOF AND Dados.EOF then
response.write ""
else
while NOT Dados.EOF AND Dados <=8
intConta = intConta + 1

%>

<%=Dados("nome_banco") %><%=Dados("banco")%><br><br>

<%
Dados.MoveNext
Wend
end if
%>

Troque o anterior por este acima...

 

Uma coisa, nesta parte:

 

set conexao=server.CreateObject("adodb.connection")
dados_sys = "Provider=sqloledb;Data Source=localhost;Initial Catalog=bd_teste;User Id=sa;Password=12345;"
conexao.open dados_sys

Cade o caminho do bd ????

Compartilhar este post


Link para o post
Compartilhar em outros sites

agora apareceu este erro ...

 

 

Tipo de erro:

Erro de tempo de execução do Microsoft VBScript (0x800A000D)

Tipos incompatíveis

/Sistema/teste3.asp, line 14

 

 

<%

set conexao=server.CreateObject("adodb.connection")

dados_sys = "Provider=sqloledb;Data Source=MASTER\SQLEXPRESS;Initial Catalog=bd_teste;User Id=sa;Password=12345;"

conexao.open dados_sys

 

intConta=1

Set Dados = Server.CreateObject("ADODB.Recordset")

SQL = "SELECT * FROM dbo.bancos"

Dados.Open SQL, conexao, 3

 

if Dados.BOF AND Dados.EOF then

response.write ""

else

while NOT Dados.EOF AND Dados <=8 >>>LINHA 14

intConta = intConta + 1

 

%>

 

<%=Dados("nome_banco") %><%=Dados("banco")%><br><br>

 

<%

Dados.MoveNext

Wend

end if

%>

Obrigado Loko

Compartilhar este post


Link para o post
Compartilhar em outros sites

No primeiro erro era só colocar:

Set Dados = conexao.Execute(SQL)

 

No segundo, você nao pode comparar uma recordset com um número. Utilize TOP 8 na consulta SQL.

Compartilhar este post


Link para o post
Compartilhar em outros sites

para comparar coloque

dados(“banco”) <= 8

e fica mais fácil e rápido fazer a consulta direto na SQL , como foi dito, usando a clausula TOP:

 

SELECT TOP 8 * FROM dbo.bancos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu tentei usar o TOP mas não deu certo, é como se não tivesse o mesmo.

 

 

Eu tenho essa mesma comparação de pegar os ultimos 8 registro só que com banco Access, e esse estou usando SQL´, tem alguma coisa a ver, que no caso não funciona ???

 

Valew pela força até agora galera.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloca um contador no While então. Mas o TOP deveria funcionar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

se for usar o contador tem que mudar o nome do if que esta o do recordset para o da variavel que usa para contar

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.