Sistema de noticias en ASP

Escrito por WebExperto el Viernes 03 de Mayo de 2002 a las 00:00hs

Lo que vamos a hacer, es b?sicamente un sistema de noticias para un sitio web, programado en ASP y utilizando bases de datos Access.

Archivos a utilizar

  • noticias.mdb: la base de datos.
  • formulario.htm: el formulario en donde ingresaremos los datos de la noticia.
  • agrega_noticia.asp: el encargado de procesar el formulario.
  • listado.asp: para listar todas las noticias.
  • noticia.asp: para ver la noticia.

noticias.mdb

Dentro de este archivo creamos una nueva Tabla llamada Noticias con los siguientes campos: id (autonum?rico), titulo (texto), copete (memo) y noticia (memo):

formulario.htm

El formulario es una simple p?gina html, que permite ingresar los datos T?tulo, Copete y Noticia, e ingresarlos a la base de datos.


Ttiulo:


Copete:


Noticia:



agrega_noticia.asp

En el formulario notamos que el action es igual a agrega_noticia.asp. Gracias a este archivo podemos procesar los datos ingresados en el formulario y volcarlos dentro de la base de datos

<%
Response.Buffer = true
dim cnn,rst
' Creamos la conexi?n a la base de datos sin DSN
set cnn = Server.CreateObject("ADODB.Connection")
set rst = Server.CreateObject("ADODB.RecordSet")
cnn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
Server.MapPath("noticias.mdb"))
sqltext = "SELECT * FROM Noticias"
rst.Open sqltext,cnn,3,3

'Recogemos los datos y validamos que no haya ningun campo vacio
dim titulo, copete, noticia
titulo = Request.Form("titulo")
copete = Request.Form("copete")
noticia = Request.Form("noticia")

if copete = "" or titulo ="" or noticia ="" then
error = "Debe completar todos los datos."
Response.Write error
Response.End
end if

'Si est? todo correcto, procedemos a ingresar los datos a la base de datos

rst.AddNew
rst("titulo") = titulo
rst("copete") = copete
rst("noticia") = noticia
rst.update

'Terminamos e imprimimos un mensaje
Response.Write "La noticia se ha ingresado con exito"
%>

listado.asp

Lo que har? este archivo es listar las noticias, ordenadas por el ID Desc (de ?ltimo a primero). Se podr?a realizar una paginaci?n, peor eso lo veremos en un pr?ximo art?culo. El c?digo del listado quedar?a as?:



Listado de noticias


<%
'Abre la conexion con la base de datos a traves de una conexion ODBC
Set con = Server.CreateObject("ADODB.Connection")
Con.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("noticias.mdb")&";"

'Ejecuta un sentencia SQL de consulta
sql = "SELECT * FROM Noticias ORDER BY id DESC"
Set result = con.Execute(sql)
'Recorre todas las filas del resultado
Do While Not result.EOF
' Muestra la fila actual
Response.Write "

"&result.Fields("titulo")&"
• " &result.Fields("copete") & "

"

'Pasa a la siguiente fila
result.MoveNext
Loop
'Libera memoria
result.Close
Set result = Nothing
con.Close
Set con = Nothing
%>

noticia.asp

Por ?ltimo, este archivo se encarga de mostrar la noticia de acuerdo al valor de ID, ejemplo...

  • noticia.asp?id=1, mostrar? la noticia con el ID 1
  • noticia.asp?id=1454, mostrar? la noticia con el ID 1454

Igualmente, al armar el listado, los links a las noticia ya vienen definidos con el valor correspondiente.

<%
Set con = Server.CreateObject("ADODB.Connection")
Con.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
Server.MapPath("noticias.mdb"))
sql = "SELECT * FROM Noticias WHERE id=" & Request.QueryString("id") & ""

'Ejecuta un sentencia SQL de consulta
'Recorre todas las filas del resultado
set result = Con.Execute(sql)
%>


P?gina nueva


<%=result("titulo")%>


<%=result("copete")%>


<%=result("noticia")%>





Bueno, este fue un ejemplo sencillo de como armar un sistema de noticias en ASP. En los pr?ximos art?culos sobre ASP vamos a mostrarle c?mo realizar una paginaci?n de resultados, para hacer m?s vistosos los listados.

Si lo desean, pueden descargar los c?digo fuente en un archivo ZIP.


comentarios



  1. Cómo podría evitar el error [HTTP 500.100 - No se puede actualizar. Base de datos u objeto de sólo lectura] que me aparece al intentar guardar noticias en el Access.



  2. hola hice todo lo que sale en la pagina pero me da el mismo error que a LITOS error [HTTP 500.100 como se soluciona.....

    me podrias ayudar por favor



  3. Me ha funcionado bien la solución. Ahora tengo otro problema.

    Al crear las páginas asp y formulario para poder modificar las noticias tengo el problema de ¿cómo guardar sobre un registro existente?

    ya eliminé el rst.Addnew, creo que mi problema pasa por seleccionar el registro



  4. Una pregunta para que me con Response.Write me aparezca "CAMPO VACIO" si el campo no tiene ningun registro. gracias.



  5. no anda salame

agregar comentario


Se permiten las etiquetas HTML , y

. Si ingresa alguna direcci?n web o direcci?n de email ser?n convertidos en enlaces autom?ticamente.





publicidad

API DE FACEBOOK
GOOGLE CALENDAR API
GOOGLE MAPS API