Ir para conteúdo

POWERED BY:

Arquivado

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

razstec

db delete

Recommended Posts

Ando aqui perdido se alguem me der umas luzes agradecia, tenho esta tabela e queria por a frente de cada registo 1 butao para apagar e outra para editar. alguem me pode ajudar? o codigo e este:

 

 

<html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1252"><title>Nome</title><form name="inscoment" method="POST" id="inscoment" font color="#FFFFFF" ></head><%cod=request.querystring("cod")set conn = CreateObject("ADODB.Connection")conn.Provider = "Microsoft.Jet.Oledb.4.0"conn.Open Server.MapPath("db/dbpm.mdb")set rs=server.createobject("adodb.recordset")inscoment="select * from karaoke" rs.open inscoment,conn,1%><%request.querystring("cod")if rs.recordcount > 0 then %><body bgcolor="#FFFFFF" text="#000000"><form method="POST" name="select"><div style="position: absolute; top: 23px; left: 126px; width: 779px; height: 22px; z-index: 9" align="center"><table border="0" id="table1" width="663"><tr><% cor="#5A9DFF"for j=1 to rs.recordcount%><td text=black bgcolor="#<%=cor%>" width="75" bordercolor="#C0C0C0">Titulo</td><td text=black bgcolor="#<%=cor%>" align="left"><%=rs.Fields("titulo")%></td></tr><% rs.movenextif cor="#5A9DFF" thencor="9999ff"elsecor="#5A9DFF"end ifnext end if%></table></div></form></body></html>

Compartilhar este post


Link para o post
Compartilhar em outros sites
<input type="button" name="Submit" value="Alterar" onClick="java script:location.href=alterar.asp?cod=<%=rs("cod")%>';" />

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok obrigado hoje ja vou experimentar :) mas diz-me uma coisa tenho de criar uma pagina para o apagar.asp nao tenho? eu em tempos fiz uma coisa destas mas estava tudo na mesma pagina so que agora ja nao me lembro muito bem.

Compartilhar este post


Link para o post
Compartilhar em outros sites

não é necessário fazer uma página para apagar, pode ser na mesma, porém terá um desempenho menor, dependendo dos processos que tem na página. Porém com esse código que passei se não me engano não dá pois vai entrar em loop a página, você teria que definir os botões como type=submit" e no action do form colocar a mesma página, ai no inicio da página você verifica qual botão foi clicado

<%if request("excluir")<>"" then'executa deleteelseif request("alterar")<>"" then'executa updateelse'executa selectend if%>
é +- isso, a logica é essa

Compartilhar este post


Link para o post
Compartilhar em outros sites

tive de usar duas paginas.

 

 

1ªdb_view.asp

 

<html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1252"><title>Nome</title><form name="inscoment" method="POST" id="inscoment" font color="#FFFFFF" ></head><%cod=request.querystring("cod")set conn = CreateObject("ADODB.Connection")conn.Provider = "Microsoft.Jet.Oledb.4.0"conn.Open Server.MapPath("db/dbpm.mdb")set rs=server.createobject("adodb.recordset")inscoment="select * from karaoke" rs.open inscoment,conn,1%><%request.querystring("cod")if rs.recordcount > 0 then %><body bgcolor="#FFFFFF" text="#000000"><form method="POST" name="select"><div style="position: absolute; top: 23px; left: 126px; width: 779px; height: 22px; z-index: 9" align="center"><table border="1" id="table1" width="663"><tr><% cor="#5A9DFF"for j=1 to rs.recordcount%><td text=black bgcolor="#<%=cor%>" align="left" width="50"><%=rs.Fields("id")%></td><td text=black bgcolor="#<%=cor%>" align="left"><%=rs.Fields("titulo")%></td><td text=black bgcolor="#<%=cor%>" width="75" bordercolor="#C0C0C0" align="center"><input type="button" name="Submit" value="Apagar" onClick="java script:location.href=delete.asp?titulo=<%= oRS.Fields("titulo").Value %><%= oRS.Fields("titulo").Value %></td></tr><% rs.movenextif cor="#5A9DFF" thencor="9999ff"elsecor="#5A9DFF"end ifnext end if%></table></div></form></body></html>

2ª delete.asp

 

<%'Set VariablesDim DBConDim DataPathDim strItemstrItem = Request.QueryString("titulo")DataPath = Server.MapPath("db/dbpm.mdb")'Start the Database ConnectionSet DBCon = Server.CreateObject("ADODB.Connection")'Choose the type of connection'Here, were are using OLE DB'ODBC Connection'DBCon.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & DataPath & ";Persist Security Info=False"'OLEDBDBCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DataPath & ";Persist Security Info=False"sql = "DELETE * FROM filme WHERE titulo = '" & strItem & "';"DBCon.Execute(sql)%> <p align="center"> </p><p align="center"><b><i><font face="Comic Sans MS" size="6">Apagado</font></i></b><font color=#FFFFCC size=2 face="Comic Sans MS"><br><b><a href="db_view.asp">Voltar</a></b><font color=#CC9966></p><%DBCon.CloseSet DBCon = Nothing%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom, aparentemente a tag <tr> estava no local errado e faltava uma aspas no input que fechava o onclick, veja se funciona

 

<html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1252"><title>Nome</title><form name="inscoment" method="POST" id="inscoment" font color="#FFFFFF" ></head><%cod=request.querystring("cod")set conn = CreateObject("ADODB.Connection")conn.Provider = "Microsoft.Jet.Oledb.4.0"conn.Open Server.MapPath("db/dbpm.mdb")set rs=server.createobject("adodb.recordset")inscoment="select * from karaoke" rs.open inscoment,conn,1%><%if rs.recordcount > 0 then %><body bgcolor="#FFFFFF" text="#000000"><form method="POST" name="select"><div style="position: absolute; top: 23px; left: 126px; width: 779px; height: 22px; z-index: 9" align="center"><table border="1" id="table1" width="663"><% cor="#5A9DFF"for j=1 to rs.recordcount%>  <!--abaixo adicionei a tag <tr> dentro do FOR para ir adicionando linhas--> <tr>  <td text=black bgcolor="#<%=cor%>" align="left" width="50"><%=rs.Fields("id")%></td>  <td text=black bgcolor="#<%=cor%>" align="left"><%=rs.Fields("titulo")%></td>  <!--nessa parte faltava uma aspas e tinha a exibição do campo a mais-->  <td text=black bgcolor="#<%=cor%>" width="75" bordercolor="#C0C0C0" align="center"><input type="button" name="Submit" value="Apagar" onClick="java script:location.href=delete.asp?titulo=<%= oRS.Fields("titulo").Value %>"></td>   </tr><%  rs.movenext if cor="#5A9DFF" then  cor="9999ff" else  cor="#5A9DFF" end ifnext end if%></table><%'aqui exibe a mensagem para o usuário que vem da página de exclusão ou alteraçãoresponse.Write(request.querystring("mensagem"))%></div></form></body></html>
e na página de exclusão adicionei isso no final da página

'redirecionar para página de visualização, sem que o usuário clieque em voltarresponse.Redirect("db_view.asp?mensagem=Registro excluido")

Compartilhar este post


Link para o post
Compartilhar em outros sites

você colocou o código que repassei??pela mensagem está faltando umas aspas " na linha 33, veja se você está fechando a propriedade do onclick

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim e entretanto fiz algumas alteracoes mas agora simplesmente nao faz nada, deve-me faltar alguma coisa.

 

http://b.domaindlx.com/pantufas/delfilme.asp

 

 

<%

'Set Variables

Dim DBCon

Dim oRS

Dim DataPath

 

DataPath = Server.MapPath("db/dbpm.mdb")

 

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

 

'Choose your database connection

'Here we are using OLE DB

'ODCB

'DBCon.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & DataPath & ";Persist Security Info=False"

 

'OLE DB

DBCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DataPath & ";Persist Security Info=False"

'Choose at least 1 item from the database to display

sql = "SELECT * FROM novidade;"

Set oRS = DBCon.Execute(sql)

%>

<font size=5 face="Comic Sans MS">Apagar Filme</font><font color=#00FF00 size=5 face="Comic Sans MS"><br>

<font color=red size=2><u>Escolher Filme para Apagar</u><br>

<%

Do While Not oRS.EOF

%><br><center>

<tr>

<td>

<a href="delete.asp?titulo=<%= oRS.Fields("titulo").Value %>"><%= oRS.Fields("titulo").Value %></center></td>

<td text=black bgcolor="#<%=cor%>" width="75" bordercolor="#C0C0C0" align="center"><input type="button" name="Submit" value="Apagar" onClick="java script:location.href=delete.asp?titulo=<%= oRS.Fields("titulo").Value %>"></td></br>

</tr>

<%

oRS.MoveNext

'Move to next record

Loop

'Loop through records

oRS.Close

Set oRS = Nothing

DBCon.Close

Set DBCon = Nothing

%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Nome</title>
<form name="inscoment" method="POST" id="inscoment" font color="#FFFFFF" >

</head>

<%
cod=request.querystring("cod")


set conn = CreateObject("ADODB.Connection")
conn.Provider = "Microsoft.Jet.Oledb.4.0"
conn.Open Server.MapPath("db/dbpm.mdb")
set rs=server.createobject("adodb.recordset")

inscoment="select * from karaoke" 
rs.open inscoment,conn,1
%>

<%
request.querystring("cod")

if rs.recordcount > 0 then 

%>


<body bgcolor="#FFFFFF" text="#000000">


<form method="POST" name="select">


<div style="position: absolute; top: 23px; left: 126px; width: 779px; height: 22px; z-index: 9" align="center">

<table border="0" id="table1" width="663">
<tr>
<% 
cor="#5A9DFF"
for j=1 to rs.recordcount
%>
<td text=black bgcolor="#<%=cor%>" width="75" bordercolor="#C0C0C0">Titulo</td>
<td width="441" align="left" bgcolor="#<%=cor%>" text=black><%=rs.Fields("titulo")%></td>
<td width="133" align="left" bgcolor="#<%=cor%>" text=black><input onClick="java script:location='editar.asp?cod=<%=rs.Fields("cod")%>'" type="button" name="Button" value="Editar">
  <input onClick="java script:location='deletar.asp?cod=<%=rs.Fields("cod")%>'" type="button" name="Submit2" value="Detelar"></td>
</tr>

<% rs.movenext
if cor="#5A9DFF" then
cor="9999ff"
else
cor="#5A9DFF"
end if
next 
end if
%>
</table>

</div>

</form>
</body>

</html>

a pagina deletar.asp fica assim

 

<%
cod=request.querystring("cod")


set conn = CreateObject("ADODB.Connection")
conn.Provider = "Microsoft.Jet.Oledb.4.0"
conn.Open Server.MapPath("db/dbpm.mdb")

inscoment="DELETE from karaoke WHERE cod = "& cod &"" 
conn.execute(inscoment)
response.Redirect("db_view.asp ")


%>

a de editar você faz o select pelo cod

 

<%
cod=request.querystring("cod")


set conn = CreateObject("ADODB.Connection")
conn.Provider = "Microsoft.Jet.Oledb.4.0"
conn.Open Server.MapPath("db/dbpm.mdb")
set rs=server.createobject("adodb.recordset")

inscoment="select * from karaoke WHERE cod = "& cod &"" 
rs.open inscoment,conn,1
%>

depois você executa o Update

Compartilhar este post


Link para o post
Compartilhar em outros sites

amigo, interprete o erro, ele não consegue encontrar o nome do campo na tabela que você determinou no recordset. veja na linha 47 se o nome do campo existe na tabela

Compartilhar este post


Link para o post
Compartilhar em outros sites

vamos fazer diferente então, usando apenas forms e asp

<html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1252"><title>Nome</title><form name="inscoment" method="POST" id="inscoment" font color="#FFFFFF" ></head><%cod=request.querystring("cod")set conn = CreateObject("ADODB.Connection")conn.Provider = "Microsoft.Jet.Oledb.4.0"conn.Open Server.MapPath("db/dbpm.mdb")set rs=server.createobject("adodb.recordset")inscoment="select * from karaoke" rs.open inscoment,conn,1%><%if rs.recordcount > 0 then %><body bgcolor="#FFFFFF" text="#000000"><div style="position: absolute; top: 23px; left: 126px; width: 779px; height: 22px; z-index: 9" align="center"><table border="1" id="table1" width="663"><% cor="#5A9DFF"for j=1 to rs.recordcount%>  <!--abaixo adicionei a tag <tr> dentro do FOR para ir adicionando linhas--><tr>  <td text=black bgcolor="#<%=cor%>" align="left" width="50"><%=rs.Fields("id")%></td>  <td text=black bgcolor="#<%=cor%>" align="left"><%=rs.Fields("titulo")%></td>  <!--nessa parte faltava uma aspas e tinha a exibição do campo a mais-->  <td text=black bgcolor="#<%=cor%>" width="75" bordercolor="#C0C0C0" align="center">  <table width="300" border="0" cellspacing="0" cellpadding="0">  <tr>  <form name="frmeditar" action="editar.asp" method="post">  <input name="titulo" type="hidden" value="<%=rs("titulo")%>">	<td><input name="editar" type="submit" id="editar" value="Editar"></td>  </form>    <form name="frmexcluir" action="delete.asp" method="post">  <input name="titulo" type="hidden" value="<%=rs("titulo")%>">	<td><input name="excluir" type="submit" id="excluir" value="Excluir"></td>  </form>  </tr></table>      </td>  </tr><%  rs.movenextif cor="#5A9DFF" then  cor="9999ff"else  cor="#5A9DFF"end ifnext end if%></table><%'aqui exibe a mensagem para o usuário que vem da página de exclusão ou alteraçãoresponse.Write(request.querystring("mensagem"))%></div></body></html>

e pra recuperar o valor troque

strItem = Request.QueryString("titulo")

por

strItem = Request.form("titulo")

na página delete.asp

Compartilhar este post


Link para o post
Compartilhar em outros sites

assim ja nao da erro mas da erro de pagina que deve ser por eu nao ter mudado a strItem = Request.form("titulo"), mas na pagina delete.asp nao encontrei la nada?delete.asp<%cod=request.querystring("cod")set conn = CreateObject("ADODB.Connection")conn.Provider = "Microsoft.Jet.Oledb.4.0"conn.Open Server.MapPath("db/dbpm.mdb")inscoment="DELETE from karaoke WHERE cod = "& cod &"" conn.execute(inscoment)response.Redirect("delfilme.asp ")%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

então você deve ter mudado a página conforme o jivandf passou

<%

'cod=request.querystring("cod")

cod=request.form("cod")

set conn = CreateObject("ADODB.Connection")

conn.Provider = "Microsoft.Jet.Oledb.4.0"

conn.Open Server.MapPath("db/dbpm.mdb")

inscoment="DELETE from karaoke WHERE cod = "& cod &""

conn.execute(inscoment)

response.Redirect("db_view.asp ")

%>

não esqueça de mudar nos inputs

<input name="cod" type="hidden" value="<%=rs("cod")%>">

para

<input name="cod" type="hidden" value="<%=rs("cod")%>">

 

sendo que rs("cod") deve ter o nome do campo que é o código do registro da sua tabela

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.