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

añadir datos a bases de datos

Estas en el tema de añadir datos a bases de datos en el foro de ASP Clásico en Foros del Web. hola necesito hacer que mi pagina de asp agrege datos dados por el usuario a una base de datos y los guarde pero me marca ...
  #1 (permalink)  
Antiguo 17/10/2011, 09:36
 
Fecha de Ingreso: abril-2011
Mensajes: 76
Antigüedad: 13 años, 6 meses
Puntos: 1
añadir datos a bases de datos

hola necesito hacer que mi pagina de asp agrege datos dados por el usuario a una base de datos y los guarde pero me marca error y no muestra la pagina asp en que estoy mal?
codigo html
<html>
<body>
<form action="base.asp" method="post">
escribe tu nombre por favor:
<input type="text" name="nombre">
<br>
escribe tu direccion por favor:
<input type="text" name="direccion">
<br>
<input type="submit" value="añadir a base de datos">
</form>
</body>
</html>

codigo asp

<html>
<body>
<%
response.write(date)
Set cn = Server.CreateObject("ADODB.Connection")
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.Mappath("andrea.mdb")
Set rs = cn.Execute("SELECT * FROM Tabla1")
do while not rs.eof
response.write("<br>")
response.write rs.fields("nombre")
response.write(" ")
response.write rs.fields("direccion")
rs.movenext
loop
snombre=request.form("nombre")
sdireccion=request.form("direccion")
rs.AddNew
rs.fields("nombre")=snombre
rs.fields("direccion")=sdireccion
rs.Update
response.write("los datos ingresados han sido agregados")
rs.MoveFirst
response.write("esta es la base da datos completa:")
do while not rs.eof
response.write("<br>")
response.write rs.fields("nombre")
response.write(" ")
response.write rs.fields("direccion")
rs.movenext
loop
%>
</body>
</html>
  #2 (permalink)  
Antiguo 17/10/2011, 16:41
Avatar de Batan  
Fecha de Ingreso: septiembre-2010
Ubicación: Madrid
Mensajes: 408
Antigüedad: 14 años, 1 mes
Puntos: 63
Respuesta: añadir datos a bases de datos

Para agregar un registro a la base de datos, puedes usar un query de SQL directamente. Algo asi...

Código ASP:
Ver original
  1. Dim nombre, direccion
  2. nombre = request("nombre")
  3. direccion = request("direccion")
  4.  
  5. Set cn = Server.CreateObject("ADODB.Connection")
  6. cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.Mappath("andrea.mdb")
  7. Set rs = cn.Execute("INSERT INTO tabla1(nombre, direccion) VALUES('"& nombre &"', '"& direccion &"')")

Insertando directamente los datos en la query y executando dicha query, es más simple y facil de entender.

Saludos
  #3 (permalink)  
Antiguo 18/10/2011, 21:01
 
Fecha de Ingreso: abril-2011
Mensajes: 76
Antigüedad: 13 años, 6 meses
Puntos: 1
Respuesta: añadir datos a bases de datos

hola cambie mi codigo a este no se en que estoy mal por que me marca error
codigo asp:

<html>
<body>
<%
response.write(date)
nombre=request.form("nombre")
direccion=request.form("direccion")
Set cn = Server.CreateObject("ADODB.Connection")
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.Mappath("andrea.mdb")
Set rs = cn.Execute("INSERT INTO tabla1(nombre, direccion) VALUES('"& nombre &"', '"& direccion &"')")
response.write("los datos ingresados han sido agregados")
response.write("esta es la base da datos completa:")
do while not rs.eof
response.write("<br>")
response.write rs.fields("nombre")
response.write(" ")
response.write rs.fields("direccion")
rs.movenext
loop
%>
</body>
</html>
  #4 (permalink)  
Antiguo 18/10/2011, 22:25
Avatar de Batan  
Fecha de Ingreso: septiembre-2010
Ubicación: Madrid
Mensajes: 408
Antigüedad: 14 años, 1 mes
Puntos: 63
Respuesta: añadir datos a bases de datos

Que error te marca?
  #5 (permalink)  
Antiguo 19/10/2011, 08:40
 
Fecha de Ingreso: abril-2011
Mensajes: 76
Antigüedad: 13 años, 6 meses
Puntos: 1
Respuesta: añadir datos a bases de datos

Tipo de error:
Microsoft JET Database Engine (0x80004005)
La operación debe usar una consulta actualizable.
/base.asp, línea 9
  #6 (permalink)  
Antiguo 19/10/2011, 11:05
Avatar de Batan  
Fecha de Ingreso: septiembre-2010
Ubicación: Madrid
Mensajes: 408
Antigüedad: 14 años, 1 mes
Puntos: 63
Respuesta: añadir datos a bases de datos

Debes darle permisos de escritura a la base de datos.

Saludos
  #7 (permalink)  
Antiguo 19/10/2011, 13:19
 
Fecha de Ingreso: abril-2011
Mensajes: 76
Antigüedad: 13 años, 6 meses
Puntos: 1
Respuesta: añadir datos a bases de datos

y como ago eso?
  #8 (permalink)  
Antiguo 19/10/2011, 16:49
Avatar de Batan  
Fecha de Ingreso: septiembre-2010
Ubicación: Madrid
Mensajes: 408
Antigüedad: 14 años, 1 mes
Puntos: 63
Respuesta: añadir datos a bases de datos

Si estas en IIS, pulsas click derecho sobre el icono de la base de datos, pestaña seguridad y ahi podras modificar los permisos de la base de datos.
Si lo tienes en un servidor, deberas buscar y entrar a las propiedad de la base de datos y configurar sus permisos en alguna opcion de seguridad que haya.

Saludos
  #9 (permalink)  
Antiguo 20/10/2011, 09:43
 
Fecha de Ingreso: abril-2011
Mensajes: 76
Antigüedad: 13 años, 6 meses
Puntos: 1
Respuesta: añadir datos a bases de datos

no me aparece la opción de seguridad pero estoy usando el IIS como le hago?
  #10 (permalink)  
Antiguo 20/10/2011, 10:19
 
Fecha de Ingreso: septiembre-2011
Mensajes: 116
Antigüedad: 13 años, 2 meses
Puntos: 8
Respuesta: añadir datos a bases de datos

Puedes asignar los permisos de la base de datos desde la misma aplicación ASP. He modificado un poco tu codigo para crear el record set, asignarle la sentencia sql y luego le añado los permisos de escritura.

Código:
<html>
<body>
<%
response.write(date)
nombre=request.form("nombre")
direccion=request.form("direccion")

Set cn = Server.CreateObject("ADODB.Connection")
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.Mappath("andrea.mdb")

Set rs = Server.CreateObject("ADODB.Connection")
sql = "SELECT * FROM Tabla1"
rs.locktype = 3 'Permiso de escritura
rs.cursortype = 3  'Permiso de escritura
rs.cursorLocation = 3  'Permiso de escritura
rs.Open sql, cn

response.write("los datos ingresados han sido agregados")
response.write("esta es la base da datos completa:")
do while not rs.eof
response.write("<br>")
response.write rs.fields("nombre")
response.write(" ")
response.write rs.fields("direccion")
rs.movenext
loop
%>
</body>
</html>
Ya me dirás si te ha funcionado.

Un saludo
  #11 (permalink)  
Antiguo 21/10/2011, 19:21
 
Fecha de Ingreso: abril-2011
Mensajes: 76
Antigüedad: 13 años, 6 meses
Puntos: 1
Respuesta: añadir datos a bases de datos

hola ya gracias gdasoft use tu codigo pero aun me marca un error aun que este es diferente el error que me marca es:
Microsoft VBScript runtime (0x800A01BE)
Object doesn't support named arguments: 'locktype'
/base.asp, línea 13

Etiquetas: asp, bases, select
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 16:16.