Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/03/2003, 21:10
toniveas
 
Fecha de Ingreso: diciembre-2001
Mensajes: 118
Antigüedad: 23 años, 3 meses
Puntos: 0
Donde está el error?

Código:
<HTML>
<HEAD>
<TITLE>UNA PRUEBA</TITLE>
<h2><center>Una prueba23</center></h2>
<%
'Declaramos las variables
Dim sDia, sTitol1, sTitol2, sTitol3, sTitol4, sTitol5, sTitol6, sText1, sText2, sText3, sText4, sText5, sText6
Dim oConn, rs, SQL, iCuantos, iRegistro


'Trim elimina los espacios en blanco a derecha e izquierda
sDia = Trim(Request.Form("Dia"))
sTitol1 = Trim(Request.Form("Titol1"))
sTitol2 = Trim(Request.Form("Titol2"))
sTitol3 = Trim(Request.Form("Titol3"))
sTitol4 = Trim(Request.Form("Titol4"))
sTitol5 = Trim(Request.Form("Titol5"))
sTitol6 = Trim(Request.Form("Titol6"))
sText1 = Trim(Request.Form("Text1"))
sText2 = Trim(Request.Form("Text2"))
sText3 = Trim(Request.Form("Text3"))
sText4 = Trim(Request.Form("Text4"))
sText5 = Trim(Request.Form("Text5"))
sText6 = Trim(Request.Form("Text6"))

'Si esta variable está vacía
'es que no hemos enviado el formulario
'así que lo muestro
if Len(sTexto) = 0 then
	
	Formulario
else
	'Tengo ya un nombre para insertar
	'Creo los objetos Connection y Recordset
	set oConn =  Server.CreateObject("ADODB.Connection")
	set rs = Server.CreateObject("ADODB.Recordset")

oConn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../Data/dilluns.mdb")
	'En mi caso, utilizo una cadena de conexión para el SQL Server
	'SELECT * FROM ... devuelve todas las filas de la tabla
	SQL="SELECT * FROM dilluns ORDER BY Id"
	'Abro el Recordset con la sentencia SQL
	'definiendo oConn como el objeto Connection
	'y cursor 1 y lock(cerrojo) 2
	rs.Open SQL, oConn, 1, 2
	'Añado uno nuevo: a partir de ahora metos los datos del nuevo registro
	rs.AddNew
	rs.Fields("Dia")=sDia
	rs.Fields("Titol1")=sTitol1
	rs.Fields("Titol2")=sTitol2
	rs.Fields("Titol3")=sTitol3
	rs.Fields("Titol4")=sTitol4
	rs.Fields("Titol5")=sTitol5
	rs.Fields("Titol6")=sTitol6
	rs.Fields("Text1")=sText1
	rs.Fields("Text2")=sText2
	rs.Fields("Text3")=sText3
	rs.Fields("Text4")=sText4
	rs.Fields("Text5")=sText5
	rs.Fields("Text6")=sText6
	'Guardo los cambios
	rs.Update
	'Después de guardar, el campo autonumérico
	'ya está disponible
	iRegistro = rs.Fields("Id")

	Response.Write("<P>El registro <b>" & iRegistro & "</b> ha sido insertado")
	'Me muevo al primero
	rs.MoveFirst
	'Y pinto la tabla
	PintarTabla

	'Cierro y destruyo objetos
	rs.Close
	'Antes llamo a mantenimiento!
	Mantenimiento
	set rs = nothing
	oConn.Close
	set oConn = nothing

end if

'========================================================
Sub Formulario
'Imprimo por pantalla el formulario
Response.Write("<FORM ACTION=""bdform2.asp"" METHOD=""post"">" & vbCrlf)
Response.Write("<P>Data:<br>" & vbCrlf)
Response.Write("<INPUT TYPE=""text"" NAME=""Dia"" SIZE=""30"">" & vbCrlf)
Response.Write("<P>Titol i Text 6:<br>" & vbCrlf)
Response.Write("<INPUT TYPE=""text"" NAME=""Titol1"" SIZE=""30"">" & vbCrlf)
Response.Write("<INPUT TYPE=""text"" NAME=""Text1"" SIZE=""30"">" & vbCrlf)
Response.Write("<P>Titol i Text 5:<br>" & vbCrlf)
Response.Write("<INPUT TYPE=""text"" NAME=""Titol2"" SIZE=""30"">" & vbCrlf)
Response.Write("<INPUT TYPE=""text"" NAME=""Text2"" SIZE=""30"">" & vbCrlf)
Response.Write("<P>Titol i Text 4:<br>" & vbCrlf)
Response.Write("<INPUT TYPE=""text"" NAME=""Titol3"" SIZE=""30"">" & vbCrlf)
Response.Write("<INPUT TYPE=""text"" NAME=""Text3"" SIZE=""30"">" & vbCrlf)
Response.Write("<P>Titol i Text 3:<br>" & vbCrlf)
Response.Write("<INPUT TYPE=""text"" NAME=""Titol4"" SIZE=""30"">" & vbCrlf)
Response.Write("<INPUT TYPE=""text"" NAME=""Text4"" SIZE=""30"">" & vbCrlf)
Response.Write("<P>Titol i Text 2:<br>" & vbCrlf)
Response.Write("<INPUT TYPE=""text"" NAME=""Titol5"" SIZE=""30"">" & vbCrlf)
Response.Write("<INPUT TYPE=""text"" NAME=""Text5"" SIZE=""30"">" & vbCrlf)
Response.Write("<P>Titol i Text 1:<br>" & vbCrlf)
Response.Write("<INPUT TYPE=""text"" NAME=""Titol6"" SIZE=""30"">" & vbCrlf)
Response.Write("<INPUT TYPE=""text"" NAME=""Text6"" SIZE=""30"">" & vbCrlf)
Response.Write("<INPUT TYPE=""submit"" VALUE=""Guardar"">" & vbCrlf)
Response.Write("</FORM>")

End Sub 'Formulario
'===========================================
Sub PintarTabla ()
'Utiliza el objeto rs abierto
'para pintar la tabla

'La primera fila la escribo directamente, con
'los nombres de los campos
Response.Write( "<TABLE BORDER=""1"">" & vbCrlf)
Response.Write( "<TR>" & vbCrlf)
Response.Write( "<TD><B>Id</B></TD>" & vbCrlf )
Response.Write( "<TD><B>Data</B></TD>" & vbCrlf )
Response.Write( "<TD><B>Titol1</B></TD>" & vbCrlf )
Response.Write( "<TD><B>Text1</B></TD>" & vbCrlf )
Response.Write( "<TD><B>Titol2</B></TD>" & vbCrlf )
Response.Write( "<TD><B>Text2</B></TD>" & vbCrlf )
Response.Write( "<TD><B>Titol3</B></TD>" & vbCrlf )
Response.Write( "<TD><B>Text3</B></TD>" & vbCrlf )
Response.Write( "<TD><B>Titol4</B></TD>" & vbCrlf )
Response.Write( "<TD><B>Text4</B></TD>" & vbCrlf )
Response.Write( "<TD><B>Titol5</B></TD>" & vbCrlf )
Response.Write( "<TD><B>Text5</B></TD>" & vbCrlf )
Response.Write( "<TD><B>Titol6</B></TD>" & vbCrlf )
Response.Write( "<TD><B>Text6</B></TD>" & vbCrlf )




'Hasta que llegue al final del recordset...
while not rs.EOF
	'Imprimo una fila de la tabla
	'para cada registro que encuentre
	Response.Write( "<TR>" & vbCrlf )
	Response.Write( "<TD>" & rs.Fields("Id") & "</TD>" )
	Response.Write( "<TD>" & rs.Fields("Dia") & "</TD>" )
	Response.Write( "<TD>" & rs.Fields("Titol1") & "</TD>" )
	Response.Write( "<TD>" & rs.Fields("Text1") & "</TD>" )
	Response.Write( "<TD>" & rs.Fields("Titol2") & "</TD>" )
	Response.Write( "<TD>" & rs.Fields("Text2") & "</TD>" )
	Response.Write( "<TD>" & rs.Fields("Titol3") & "</TD>" )
	Response.Write( "<TD>" & rs.Fields("Text3") & "</TD>" )
	Response.Write( "<TD>" & rs.Fields("Titol4") & "</TD>" )
	Response.Write( "<TD>" & rs.Fields("Text4") & "</TD>" )
	Response.Write( "<TD>" & rs.Fields("Titol5") & "</TD>" )
	Response.Write( "<TD>" & rs.Fields("Text5") & "</TD>" )
	Response.Write( "<TD>" & rs.Fields("Titol6") & "</TD>" )
	Response.Write( "<TD>" & rs.Fields("Text6") & "</TD>" )
	Response.Write( "</TR>" & vbCrlf )
	'MUY IMPORTANTE!!!!!
	'Pasamos al siguiente registro
	rs.MoveNext
	'Olvidarte esto significa que vas a imprimir
	'siempre el mismo registro... Un bucle infinito!
wend
'Cierro la tabla
Response.Write("</TABLE>")

End Sub 'PintarTabla
'===========================================
Sub Mantenimiento
'Para mantener la tabla en un tamaño manejable...
rs.Open SQL, oConn, 1, 2
'RecordCount me devuelve el nº de registros
iCuantos = rs.RecordCount

'Si tengo más de 7, voy borrando...
while iCuantos > 7

	rs.MoveFirst
	rs.Delete
	rs.Update
	iCuantos = iCuantos - 1

wend
'Ahora si, cierro el Recordset
rs.Close
End Sub
%>
Este codigo lo sace de ASP Facil, pero lo ajuste a mis necesidades (le agregé más variables) lo que pasa es que ahora, cuando pulso la tecla de envio del formulario, no se imprime en pantalla los resultados ni se almacenan los datos en la base. Donde está el error?

GRACIAS.