• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

mcosta

duvida do asp no remover

10 mensagens neste tópico

Olá pessoal,

sou novo a programar asp e tenho uma duvida que não consigo resolver!!!

Eu utilizo o asp para fazer uma ligação do HTML para uma base de dados Access.

O meu problema é que o inserir e o consultar funciona direito mas agora programei o código asp para remover e dá erro:

o código é:

<html>

<head>

<meta http-equiv="Content-Language" content="pt">

<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">

<title>Consultar</title>

<meta name="Microsoft Theme" content="slate 1011">

</head>

<body>

<%

'Dimension variables

Dim adoCon 'Holds the Database Connection Object

Dim rsCliente 'Holds the recordset for the records in the database

Dim strSQL 'Holds the SQL query for the database

Dim TXTCodigo

'Create an ADO connection odject

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

'Set an active connection to the Connection object using a DSN-less connection

adoCon.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("bd1.mdb")

'Set an active connection to the Connection object using DSN connection

'adoCon.Open "DSN=bd1"

'Create an ADO recordset object

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

TXTCodigo=Request.Form("cliente")

Response.Write(TXTCodigo)

'Initialise the strSQL variable with an SQL statement to query the database

'strSQL = "SELECT tblCliente.* FROM tblCliente;"

strSQL = "Delete tblCliente.[Cod-cliente], tblCliente.Nome, tblCliente.Idade, tblCliente.Morada, tblCliente.Telemovel, tblCliente.Telefone, tblCliente.Profissao, tblCliente.Email FROM tblCliente WHERE (((tblCliente.[Cod-cliente])="& TXTCodigo& "))"

'Open the recordset with the SQL query

rsCliente.Open strSQL, adoCon

'Loop through the recordset

Do While not rsCliente.EOF

'Move to the next record in the recordset

rsCliente.MoveNext

Loop

'Reset server objects

rsCliente.Close

Set rsCliente = Nothing

Set adoCon = Nothing

%>

O erro que dá é este: ADODB.Recordset (0x800A0E78)

A operação não é permitida se o objecto estiver fechado.

/backup/remover.asp, linha 38

A linha 38 é : Do While not rsCliente.EOF

Preciso mesmo de ajuda..

Obrigado!!!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

verifica se conseguio estabelecer conecção com a BD

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Obrigado hellblazer,

acho que consigo porque o código é o mesmo do inserir e do consultar para a conexão a bd...

Eu no código que postei dá erro mas por exemplo na instrução sql se alterar o Delete por um select funciona bem...

Por isso é que não percebo porquê que da erro

se me puderes ajudar agradeço

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ok hellblazer,

não percebi ainda o problema do meu...

mas vou tentar implementar este código e depois digo alguma coisa.

Obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ok, depois diz qualquer coisa...

se nao conseguiresa mesma eu especifico-te onde estavas a errar ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ola hellblazer,

mais uma vez desculpa te incomodar....

podes me explicar melhor o que estou a fazer de errado no meu código de remover???

é que não consegui mesmo detectar onde estou a fazer errado!!

obrigado..

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Funcionou com o outro?

lol estava aqui

'Loop through the recordset
Do While not rsCliente.EOF


'Move to the next record in the recordset
   rsCliente.MoveNext

Loop

Loop para que? ele precisava era de um execute :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

não, no outro não funcionou!!!!

ah...então no código antigo basta tirar o loop e fazer um execute???

mas não tenho de percorrer a base de dados??

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não.. apenas tens de fazer o execute da função de SQL :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora