Ir para conteúdo

POWERED BY:

Arquivado

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

rcdesign

Excluir registro de um Banco de Dados

Recommended Posts

Preciso de ajuda para tentar entender o que está errado....Estou querendo excluir um registro do banco de dados.Meu código é:

<%dim DB ' conexaodim procuradim rcst ' recordsetdim strSql ' String sqlSet DB = Server.CreateObject("ADODB.Connection")cnpath="DBQ=" & server.mappath("cadastro.mdb")DB.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & cnpathset rcst = Server.CreateObject("ADODB.Recordset")procura = "SELECT * FROM clientes WHERE cliente = '" & Request("cliente")&"'"strsql = strSql & "AND nome = '" & Request("nome") & "'" & "AND razaosocial = '" & Request("razaosocial") & "'"rcst.Open procura, DBif (rcst.bof=false and rcst.eof=false) thenrcst.deleteResponse.Write ("Exlusão Completada. Cliente não faz mais parte de seu Banco de Dados")ElseResponse.Write ("Seu Banco de Dados não possui nenhum cliente com os parâmetros especificados.<br>Confira as informações digitadas<br><br>")Response.Write ("<a href='excluir.htm'>Voltar</a>")end if%>

e o erro que está dando é:ADODB.Recordset error '800a0cb3' O objeto ou provedor não é capaz de efetuar a operação solicitada. /clubsul/cadastro/excluir.asp, line 18

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta usar isso aqui:

 

 

<%if request("action") = "delete" thenset rsDeleteCliente = Server.CreateObject("ADODB.Command")rsDeleteCliente.ActiveConnection = MM_Maais_STRINGrsDeleteCliente.CommandText = "DELETE FROM Clientes  WHERE IdCliente = '"&str1&"'"rsDeleteCliente.CommandType = 1rsDeleteCliente.CommandTimeout = 0rsDeleteCliente.Prepared = truersDeleteCliente.Execute()response.redirect("ok.asp?action=delete&RazaoSocial="&str2)end if%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não entendi não Silas..... quando o formulário de exclusão chamou o arquivo excluir.asp para rodar o script retornou apenas uma página em branco além de não ter excluído o registro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso q você esta fazendo eh uma consulta.... Tenta assim..Set Conn = Server.CreateObject("ADODB.Connection")Conn.Open "alias","","" 'outro campos respectivamente login e senha... se necessarioCmdSql = "Delete * from TABELA Where id = 2" ' exemploSet Rs = Conn.Execute(CmdSql)'E proto deleto o registoSet Rs = NothingConn.CloseSet Conn = Nothing

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não é necessário usar um select para deletar, a não ser que vocequer listar algo.use um delete where cliente=nome ........isto exclui todo campo que coincidir com o nome.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A questão é que no banco de dados pode existir mais de um registro com o mesmo nome, por este motivo a exclusão deve ser concretizada apenas se os campos do formulário de exclusão coincidirem com os campos da tabela de banco de dados, e não apenas com o nome....Então eu tenho que consultar o banco de dados, localizar qual o registro que combina com os parâmetros do formulário de exclusão e aí sim excluir o registro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O campo razão social é único ou não. Se for você faz o delete utilizando este parâmetro. No meu ver razão social deve ser campo único.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O seu codigo esta certo só esta faltando uma linha ve só :rcst.LockType = 3 'adLockOptimitiscum exemplo mais completo:CC = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("seu_arquivo.mdb")Set RS = Server.CreateObject( "ADODB.RecordSet" )RS.CursorLocation = 3RS.CursorType = 3RS.LockType = 3 <------------- esta linhaRS.Open "Select * From sua_tabela Where campo_chave = 'variavel'", CCIf not RS.Eof RS.Delete RS.MoveNextEnd Ifbeleza T+

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.