Función JavaScript y acceso a Base Datos Access

20/10/2003 - 09:00 por guibernat | Informe spam
Estimados amigos, tengo un problemilla al que ya le he dado mil
vueltas y me gustaría resolverlo:

Estoy usando el IIS y la web se va a ejecutar en local.

Tengo una página creada en ASP. Desde el código ASP (visual basic
script) llamo a una función en javascript, pasándole unas variables,
para poder cambiar el valor de unos campos de texto en un formulario.

<script languaje="JavaScript">
function cambiodatos(form1,form2,idpreu)
{
document.cambioestado.butaca.value = form1
document.cambioestado.estado.value = form2
document.cambioestado.precio.value = idpreu
}

1)El problema es que desde este script tengo que acceder a una base de
datos access para recoger un cuarto valor.

var conection=Server.CreateObject("ADODB.Recordset")
.

Con javascript, al intentar acceder me da el siguiente error:

"Error: no se puede conectar con Server" o algo así

y no hay manera de poder enlazar con la base de datos.


2)MI otra solución era utilizar código vbscirpt dentro del javascript
con <%%>
y conectarme a la base de datos, pero necesito el valor de form1 y no
es capaz de cogerlo. Por tanto no me pasa el valor correctamente de
vbscript a javascript.
<%set conection=Server.CreateObject("ADODB.Recordset")%>
<%SQL="SELECT * FROM contador WHERE Butaca='"&form1&"' "%>
<%.%>

De esta forma no me coge ningún valor de la tabla, como si el valor de
la variable form1 (procedente del javascript) no fuese el que toca.

3) mI tercera solución era no utilizar javascript, simplemente
vbscript (ASP) y cambiar desde allí el campo
window.document.cambioestado.asociado.value

Consigo el valor pero parece que no me reconoce el objeto
j=window.document.cambioestado.asociado.value

Me dice que j necesita un objeto o algo así.


Me estoy volviendo loco alguien me puede dar alguna luz.
 

Leer las respuestas

#1 Daniel Álvarez
20/10/2003 - 11:03 | Informe spam
Estas mezclando conceptos. Una pagina Asp se divide en dos partes:

1) ASP puro y duro:

<% y %>

Server.createobject(") y demas movidas. Eso se ejecuta en el sevidor y
es por tanto la unica parte de la página que se puede conectar con una base
de datos

2) HTML y Javascript Y VBScript y demas

Son ejecutados por el navegador del cliente, el navegador del cliente no
puede conectarse nunca con una base de datos se ejecute por Internet o
Intranet.

Vas bien encaminado en intenar cambiar el valor por asp solo te falta
comprender que ASP solo devuelve cosigo html usando response.write

Asi que tu deberias hacer algo asi:

<%

'tenemos un recordset abierto con nombre rs

if rs("valor")=0 then
response.write "<script>"
response.write "document.butaca1.value='ocupado':"
response.write "</script>"
else
response.write "<script>"
response.write "document.butaca1.value='libre':"
response.write "</script>"
end if

%>

Daniel Álvarez




"Guillem" escribió en el mensaje
news:
Estimados amigos, tengo un problemilla al que ya le he dado mil
vueltas y me gustaría resolverlo:

Estoy usando el IIS y la web se va a ejecutar en local.

Tengo una página creada en ASP. Desde el código ASP (visual basic
script) llamo a una función en javascript, pasándole unas variables,
para poder cambiar el valor de unos campos de texto en un formulario.

<script languaje="JavaScript">
function cambiodatos(form1,form2,idpreu)
{
document.cambioestado.butaca.value = form1
document.cambioestado.estado.value = form2
document.cambioestado.precio.value = idpreu
}

1)El problema es que desde este script tengo que acceder a una base de
datos access para recoger un cuarto valor.

var conection=Server.CreateObject("ADODB.Recordset")
.

Con javascript, al intentar acceder me da el siguiente error:

"Error: no se puede conectar con Server" o algo así

y no hay manera de poder enlazar con la base de datos.


2)MI otra solución era utilizar código vbscirpt dentro del javascript
con <%%>
y conectarme a la base de datos, pero necesito el valor de form1 y no
es capaz de cogerlo. Por tanto no me pasa el valor correctamente de
vbscript a javascript.
<%set conection=Server.CreateObject("ADODB.Recordset")%>
<%SQL="SELECT * FROM contador WHERE Butaca='"&form1&"' "%>
<%.%>

De esta forma no me coge ningún valor de la tabla, como si el valor de
la variable form1 (procedente del javascript) no fuese el que toca.

3) mI tercera solución era no utilizar javascript, simplemente
vbscript (ASP) y cambiar desde allí el campo
window.document.cambioestado.asociado.value

Consigo el valor pero parece que no me reconoce el objeto
j=window.document.cambioestado.asociado.value

Me dice que j necesita un objeto o algo así.


Me estoy volviendo loco alguien me puede dar alguna luz.

Preguntas similares