Foros del Web » Programando para Internet » ASP Clásico »

Update en una SELECT

Estas en el tema de Update en una SELECT en el foro de ASP Clásico en Foros del Web. Buenos dias, He estado intentando mil formas diferentes, despues de buscar en tutoriales, libros y de más y no he sido capaz. Tengo una pagina ...
  #1 (permalink)  
Antiguo 28/10/2004, 15:44
Avatar de deccweb  
Fecha de Ingreso: febrero-2003
Ubicación: Mataro
Mensajes: 365
Antigüedad: 21 años, 3 meses
Puntos: 0
Update en una SELECT

Buenos dias,

He estado intentando mil formas diferentes, despues de buscar en tutoriales, libros y de más y no he sido capaz. Tengo una pagina donde tengo un listado de todas las noticias y cuando le das a ampliar noticia, se ve la noticia ampliada con el resto de la noticia. Y yo queria que cada vez que entre alguien ha esa noticia se sume 1 a un campo numerico que tengo. Por así decirlo poner en el listado de noticias "Esta noticia se ha leido 10 veces"


Este es el codigo actual:
<%
id = Request.QueryString("id")
Set oConn = Server.CreateObject ("ADODB.Connection")
Set RS = Server.CreateObject ("ADODB.RecordSet")
oConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="&Server.MapPath("./asdf.mdb")
sql = "SELECT * FROM noticias WHERE id="&id&""
Rs.Open sql, oConn, 1, 1
mensaje = RS("mensaje")
%>
<p align=right><A HREF="default.asp"><B><font size=1 face=verdana> Volver </B></A></p>


<%'=== Muestro el mensaje padre. La pregunta inicial ======
Response.Write "<table width=600 cellSpacing=1 cellPadding=3><Tr><td><font size=2 face=verdana color=093D6A><b>Noticias</b></font><hr color=093D6A><br><font size=1 face=verdana color=000000>"
Response.Write "<br>Fecha: "&RS("fecha")&"<br><br><font color=093D6A size=2><b>"&RS("Titulo")&"</b><br><br></font><img src=actualidad/"&RS("imagen")&" align=left onload=""if(this.width>400){this.width=400}""><b>< font color=777777 size=2>"&RS("noticia")&"</b></font>"
Response.Write "</td></tr><tr><td><br><font style=""font-size:12"" face=verdana>"&RS("mas")&"</font><br><br><hr><b><font color=aaaaaa>"&RS("copete")&"</b><br><br>"
Response.Write "<img src=iconos/imprimir.gif border=0><a href=enviarmail4.asp target=_blank><img src=iconos/recomendar.gif border=0></a> <a href=#><img src=iconos/subir.gif border=0></a><br><br></td></TR></Table>"
Response.Write "<br><br>"

Response.Write "<table width=600 border=0 cellpadding=0 cellspacing=0><tr bgcolor=cCCCCC><td><font size=2 face=Verdana><strong>&nbsp;&nbsp;Comentarios<a name=comentarios></a> - <a href=""javascript:PopUp('contestar.asp?id="&RS("id ")&"')""><img src=iconos/enviarcomentarios.gif border=0></a></strong></font></td></tr></table>"


'===== Fin pregunta inicial =====

Set RS2 = Server.CreateObject ("ADODB.RecordSet")
sql2 = "SELECT * FROM noticias WHERE IdCabeza="&id &" ORDER BY id"
RS2.Open sql2, oConn, 1, 1
'===== Respuestas a la pregunta inicial
Do While not RS2.EOF
mensaje2 = RS2("mensaje")
Response.Write "<table width=600><tr><td width=10>&nbsp;</td><td width=590><font color=666666 size=1 face=Verdana>"&RS2("nombre")&" - "&RS2("fecha")&"</font><br>"
Response.Write "<br><font size=1 face=Verdana>"& AcomodarTXT(mensaje2)&"</font></td></tr><tr><td colspan=2><hr></td></tr></table>"

RS2.MoveNext
Loop
'===== Fin de respuestas ======
RS2.Close
Set RS2 = nothing
RS.Close
oConn.Close
Set RS = nothing
Set oConn = nothing

Function AcomodarTXT(txt)

txt = Replace (txt, vbCrLf, "<BR>")
txt = Replace (txt, "''", "'")
acomodarTXT = txt
End function
%>

Este es el UPDATE que quiero meter en el codigo:
UPDATE noticias SET visitas=("+1") WHERE Id="&Id&"
__________________
Calle17.net

edgargranados.es

Última edición por deccweb; 28/10/2004 a las 15:51
  #2 (permalink)  
Antiguo 28/10/2004, 17:34
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 7 meses
Puntos: 4
¿Te sale un error cuando intentas actualizar? Seguramente es porque estás intentando actualizar cuando la base está abierta en modo sólo lectura.

Rs.Open sql, oConn, 1, 1

El primer número indica como se mueve el cursor por el recordset, en tu caso (1) siempre hacia delante.

El segundo número indica si se puede escribir o leer.
Prueba a poner 3 que es el modo de lectura y escritura, si no recuerdo mal.

Un saludo.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #3 (permalink)  
Antiguo 28/10/2004, 18:32
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Intentá reemplazar el inicio de tu código por este:


Código:
<%
id = Request.QueryString("id")
Set oConn = Server.CreateObject ("ADODB.Connection")
Set RS = Server.CreateObject ("ADODB.RecordSet")
oConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="&Server.MapPath("./asdf.mdb")
sql = "SELECT * FROM noticias WHERE id="&id&""
Rs.Open sql, oConn, 1, 1

SQLSumarVisitas = "UPDATE noticias SET visitas= visitas + 1  WHERE Id=" & Id
oConn.Execute(SQLSumarVisitas)
' acá sigué todo tu código
__________________
...___...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:01.