Hola!!!...pues sigo teniendo problemas...me encontré un código que me pareció muy bueno pero lo he tratado de probar y me marca un error...les pongo el código para ver si me pueden orientar...gracias!!
1. Este código muestra un listado de lo que se encuentra en la BD, ademas de los links dependiendo si se requieren insertar, modificar o borrar datos:
Código:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin título</title>
</head>
<body>
<%
Dim cnn, rcs, SQL
set cnn=Server.CreateObject("ADODB.Connection")
set rs=Server.CreateObject("ADODB.Recordset")
cnn.Open "driver={SQL Server};server=MGUE; database=Ventas; UID=sa;Password=sa;"
set rs = cnn.execute("SELECT * FROM usuarios")
' Maquetamos los resultados
' No incluyo Clave por seguridad (supongo)
%>
<a href="detalle.asp">Pulse aqui para insertar</a>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>RUF</td>
<td>Nombre</td>
<td>Perfil</td>
<td>Sucursal</td>
<td> </td>
</tr>
<%
while not rs.EOF
%>
<tr>
<td><%=rs.fields("ruf").value%></td>
<td><%=rs.fields("nombre").value%></td>
<td><%=rs.fields("perfil").value%></td>
<td><%=rs.fields("sucursal").value%></td>
<!-- FIJATE EN LO QUE PONEMOS AQUI -->
<td>
<a href="detalles.asp?borrar=<%=rs.fields("ruf").value%>">Borrar Registro</a><br />
<a href="detalles.asp?update=<%=rs.fields("ruf").value%>">Modificar Registro</a><br />
</td>
</tr>
<%
rs.movenext()
wend
%>
</table>
</body>
</html>
<%
set rs = nothing
cnn.close()
set cnn = nothing
%>
2. Este es el código que permite insertar datos:
Código:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
Dim cnn, rcs, SQL
set cnn=Server.CreateObject("ADODB.Connection")
set rs=Server.CreateObject("ADODB.Recordset")
cnn.Open "driver={SQL Server};server=MGUEVARA;Database=Rssql;UID=sa;Password=sa;"
' Borrado / busqueda para actualizar
if request.QueryString("borrar") <> "" then
cnn.execute("DELETE FROM usuarios WHERE rut = " & request.QueryString("borrar"))
elseif request.QueryString("update") <> "" then
set rs = cnn.execute("SELECT * FROM usuarios WHERE rut = " & request.QueryString("update"))
end if
' Insercion / modificacion de registros
if request.Form("rut") <> "" then
if request.Form("action") = "update" then
sql = "UPDATE usuarios SET nombre = '" & request.Form("nombre") & "'"
sql = sql & ", clave = '" & request.Form("clave") & "'"
sql = sql & ", perfil = '" & request.Form("perfil") & "'"
sql = sql & ", sucursal = '" & request.Form("sucursal") & "'"
sql = sql & " WHERE rut = " & request.Form("rut") ' Actualizar
else
' Comprobamos que no exista
Dim rsd
set rsd = Server.CreateObject("ADODB.Recordset")
set rsd = cnn.execute("SELECT rut FROM usuarios WHERE rut = " & request.Form("rut"))
existe = not rsd.EOF
rsd.close()
if not existe then
sql = "INSERT INTO usuarios (rut, nombre, clave, perfil, sucursal) VALUES ("
sql = sql & "'" & request.Form("rut") & "'"
sql = sql & ",'" & request.Form("nombre") & "'"
sql = sql & ",'" & request.Form("clave") & "'"
sql = sql & ",'" & request.Form("perfil") & "'"
sql = sql & ",'" & request.Form("sucursal") & "')"
end if
end if
end if
' Lo ideal es que controles el SQL injection
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin título</title>
</head>
<body>
<form id="form1" name="form1" method="post" action="">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>RUT</td>
<td><input type="text" name="rut" value="<% if isObject(rs) then response.Write(rs.fields("rut").value) %>" /></td>
</tr>
<tr>
<td>Nombre</td>
<td><input type="text" name="nombre" value="<% if isObject(rs) then response.Write(rs.fields("nombre").value) %>" /></td>
</tr>
<tr>
<td>Clave</td>
<td><input type="text" name="clave" value="<% if isObject(rs) then response.Write(rs.fields("clave").value) %>" /></td>
</tr>
<tr>
<td>Perfil</td>
<td><input type="text" name="perfil" value="<% if isObject(rs) then response.Write(rs.fields("perfil").value) %>" /></td>
</tr>
<tr>
<td>Sucursal</td>
<td><input type="text" name="sucursal" value="<% if isObject(rs) then response.Write(rs.fields("sucursal").value) %>" /></td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="hidden" name="action" value="<% if isObject(rs) then response.Write("update") else response.Write("insert") %>" />
<input type="submit" name="Submit" value="Enviar" /></td>
</tr>
</table>
</form>
</body>
</html>
En la página de inicio no hay problema, me muestra el contenido en mi BD y los links, pero al querer ir a la página donde se insertan los datos me aparece el siguiente error:
ADODB.Recordset (0x800A0CC1)
No se encontró el elemento en la colección que corresponde con el nombre o el ordinal pedido.
/Ventas/detalle.asp, línea 57
y la línea 57 es la siguiente:
Código:
<td><input type="text" name="rut" value="<% if isObject(rs) then response.Write(rs.fields("rut").value) %>" /></td>
Cuál es el error??