
16/04/2007, 03:43
|
 | | | Fecha de Ingreso: marzo-2007
Mensajes: 120
Antigüedad: 18 años, 1 mes Puntos: 0 | |
Re: Insert con JavaScript en ASP Y otra vez me vuelves a ayudar xD pero me parece que no va a haber sueldo ni pa ti ni pa mi xD
veamos voy por partes, para irme aclarando n,n 0 - Define que tipo de lenguaje ASP vas a usar al inicio de la página: Al principio de la página tengo puesto esto:
Código:
<%@LANGUAGE="JAVASCRIPT"%>
pero supongo que a lo que te referiras es a que no debo poner esto?
Código:
<script language="JavaScript">
alert("Guardado")
</script>
1 - Si vas a usar constantes predefinidas (adOpenStatic,adCmdTable, etc) carga el archivo pertinente (ADOJAVAS.inc) Esto lo tengo:
Código:
<!-- #INCLUDE File="ADOJAVAS.inc" -->
Evidentemente también está en la carpeta xD
2 - No mezcles los dos lenguajes ASP (VBScript y JScript). JScript usa las etiquetas <script> y </script> con el atributo runat="server". Asi: En mi código creo que solo hay JavaScript, que según me dijiste en otro post era distinto a JScript. 3 - Procura tener solo una conexion por página y BD (un solo
Server.CreateObject("ADODB.Connection") ) Con él, atacarás la BD ya sea para llenar un recordset ( Server.CreateObject("ADODB.Recordset") ) o ejecutar un comando ( Server.CreateObject("ADODB.Command") ) Esto no lo he entendido muy bien, te digo lo que yo he entendido que igual me confundo xD
Puedo tener tanto:
- Server.CreateObject("ADODB.Connection") para atacar a una BD
- Server.CreateObject("ADODB.Command") para ejecutar un comando, como puede ser en insertar? pero eso también entraria en atacar a una BD no?, no entiendo que quieres decir con ejecutar un comando sorry.
Lo que creo también que intentas decir es que solo necesito una conexión tanto para insertar/borrar/modificar/hacer una select 4 - Para Consultas de seleccion (SELECTs) necesitas un recordset para cargar los datos pero para las consultas de accion (INSERT, etc) no hace falta. Puedes hacerlo directamente desde el objeto Connection:
conn.execute("INSERT INTO tabla (campo1, campoN) VALUES (valor1, valorN")
Esto lo entiendo, pero mi pc no >_> me sigue dando el mismo error de antes.
Código:
<%@LANGUAGE="JAVASCRIPT"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Guardar usuario</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<!-- #INCLUDE File="ADOJAVAS.inc" -->
<%
Session("alta")="No"
cone=Server.CreateObject("ADODB.Connection")
cone.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="+Server.MapPath("portaljoven.mdb"))
rstIntranet=new ActiveXObject("ADODB.RecordSet")
sentencia="Select user_id,user_pass from usuarios where user_id='"+Request.form("txtnombre")+"'"
rstIntranet.Open(sentencia,cone,adOpenStatic,adCmdTable)
if (rstIntranet.eof){
Session("alta")="Si"
//Lo he intentado asi: values ('"& user_nom &"','"& user_pas &"')"
//y asi: insertar="INSERT INTO usuarios(user_nombre,user_pass) values (user_nom,user_pas)"
//rsguardar.Open(insertar,cone,adOpenDynamic,adCmdText)
// Guardamos los datos
//SQL="INSERT INTO Usuarios " & "(Login, Password, Nombre, Apellidos, Tlf, Email)"" VALUES ('"&login&"', '"&password & _
// "', '"&nombre&"','"&apellidos&"','"&telefono&"','"&email&"');"
// mysql_query("insert into usuarios (user_id,user_pass) values ('$user_nom','$user_pas')",$link);
user_nom=Request.form("txtnombre");
user_pas=Request.form("txtpass");
cone.execute("INSERT INTO usuarios (user_id, user_pass) VALUES (user_nom, user_pas)")
cone2.Close;
%>
<script language="JavaScript">
alert("Guardado")
</script>
<%
}else{
Session("alta")="No"
%>
<script language="JavaScript">
alert("El nombre de usuario ya existe")
location.href="altausuario.asp"
</script>
<%
}
rstIntranet.Close
%>
</body>
</html>
Error: Tipo de error:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
[Microsoft][Controlador ODBC Microsoft Access] Pocos parámetros. Se esperaba 2.
/portal_joven/guardarusuario.asp, línea 30
Tipo de explorador:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)
Página:
POST 30 bytes to /portal_joven/guardarusuario.asp
Datos de POST:
txtnombre=asfas&txtpass=dfasfa Línea 30: cone.execute("INSERT INTO usuarios (user_id, user_pass) VALUES (user_nom, user_pas)")
Muchisimas gracias por la ayuda, me encanta cuando posteo y me explican cosas que no sabia xD |