Ir para conteúdo

POWERED BY:

Arquivado

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

Alex_ps

Script funciona e não funciona?

Recommended Posts

Caramba moçada,

 

Não sei o que tá acontecendo...

 

Tenho um script para apagar registros repetidos do banco MYSQL, que aparentemente está correto pois no Win98 com MySQL ele roda e da sequência.

Coloco o mesmo script em um micro com XP e MySqL, e o bendito da erro de execução na linha 98 (80020009).

 

A linha 98 é a:

 

if rc("descricao") = b then

 

mas eu acho que está dando problema é nesta:

 

StrCp = "select ID, nome, descricao, url from busca where nome='"&a&"' and ID > '"&x&"'"

Set rc = Conn.Execute(StrCp)

 

Porque se eu tirar a segunda condição do select (ID > x) ele segue em frente.

 

Alguém pode ajudar, por favor? Já fucei, fiz, refiz e dá o mesmo erro! :wacko:

Ou ainda, se vocês tiverem um jeito mais prático de excluir registros repetidos, ficaria muito grato.

 

Obrigado pela força

 

Alex_ps

 

O código todo é o seguinte:

 

<%

Set Conn = Server.CreateObject("ADODB.Connection")

Conn.open "driver={MySQL};DATABASE=geral;SERVER=localhost;UID=root;PASSWORD=xxxxxx"

 

%>

 

<%

 

StrSql1 = "select count(nome) As total from busca"

Set rs1 = Conn.Execute(StrSql1)

 

IF rs1.EOF AND rs1.BOF THEN

TotReg = 0

Else

TotReg = Rs1("total")

End If

 

%>

 

<% For x = 1 to TotReg %>

 

<% response.write x &"<br>" %>

 

 

<%

 

StrSql = ("select ID, nome, descricao, url from busca where ID='"&x&"'")

set rs = Conn.Execute(StrSql)

 

%>

 

<%

 

a=rs("nome")

b=rs("descricao")

c=rs("url")

 

%>

 

<%

 

StrCp = "select ID, nome, descricao, url from busca where nome='"&a&"' and ID > '"&x&"'"

Set rc = Conn.Execute(StrCp)

 

%>

 

<%

 

if rc("descricao") = b then

 

if rc("url") = c then

 

%>

 

<%

 

Dim del

Dim rsdele

 

del = "delete from busca where ID = '" & rc("ID") & "'"

set rsdele = conn.execute(del)

 

response.write "<center><table width=""90%"" style=""font-family: verdana, arial; font-size: 10; color: #606060; font-weight: bold; margin-top: 10px""><tr><td valign=""top"" width=""50%"">"

response.write "O arquivo " & rs("ID") & " era igual ao arquivo " & rc("ID") & "."

response.write "</td>"

response.write "<td valign=""top"" width=""50%"">"

response.write "O arquivo " & rc("ID") & " foi apagado com sucesso."

response.write "</td></tr></table></center>"

 

end if

else

end if

 

%>

 

<%

 

Set rsdele = nothing

Set rc = nothing

Set rs = nothing

Set rs1 = nothing

 

%>

 

<%

 

Next

 

%>

 

<%

 

conn.close

 

Set Conn = nothing

 

%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

qual o erro que ta dando???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Marioufpa,Erro de execução na linha 98 (80020009).Erro interno...Vi uns posts a respeito e verifiquei se não é permissão, já que o conjunto com o XP é novo e não sei se está tudo OK. Só que, se eu mandar printar os 10 primeiros, por exemplo, ele vai na boa. Daí, não sei se é permissão. Cheguei até a tirar a parte de delete, pois podia ser permissão de apagar, mas aparentemente o erro ocorre antes.Alex_ps

Compartilhar este post


Link para o post
Compartilhar em outros sites

esse campo ID é texto mesmo???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não, ID estava errado, pois é um número x de 1 ao fim do banco.Tirei as aspas simples do '"&x&"' para "&x&", mas continua dando o mesmo erro e no mesmo lugar.A idéia foi:contar os registros -> selecionar e fixar o 1 (de 1 a TotReg) como x -> obter 3 variáveis e transformar o resultado em (A=nome,B=descricao,C=url) -> selecionar novamente apenas onde nome = A e ID > que X (para evitar que ele se auto-apague ou repita a operação de cima para baixo) -> se for <> EOF, verifica B = B fixo -> se for <> EOF, verifica C = C fixo, se for igual, apaga -> loop.Alex_ps

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.