Sql en función

Que tal.Mi duda es muy sencilla,¿Se puede imcluir una sentencia sql en una FUNCION llamada al pulsar un boton?.Si es asi, ¿se usa vbscript?.si es asi,¿como se hace correctamente?,al hacerlo en mi pagina me da un (error:se debre cear objeto'Server').Será al meter la sentencia Set Con=Server.CreateObject...Por favor,detalladme la respuesta muy bien porque estoy hecho un lio y le tengo que entregar al profesor algo potable el MIERCOLES :) GRACIAS.

8 respuestas

Respuesta
1
Algo fácil:
Este maldito intro, se me ha escapado:
Cuando pulsas el botón la información es procesada por página.asp, es decir, se ejecuta página asp, donde tienes:
<%@Language=VBScript %>
<%Option Explicit%>
<%
Dim con, rs 'declaras la conexión y un recordset que no es necesario
Set con = Server.CreateObject ("ADODB.CONNECTION")
con.Open "Cadena de conexión, varía dependiendo del proveedor, servidor, etc."
con.execute (Sentencia SQL)
ó
Set rs = Server.CreateObject("ADODB.Recordset")
Rs. Open "sentencia SQL", con, 3,2
Y luego te puedes recorrer el recordset, etc
%>
O sea, que la única solución es mandar la información que quiera a otra página y procesarla allí ¿no?. ¿No se puede incluir en la misma página donde se recogen los datos mediante un script?. Es que tengo el problema siguiente, en el formulario hay un campo observaciones que sera muy largo y como lo mande en modo get la cagamos.si lo mando en post ¿cómo recojo allí los datos?Conrequest querystring no es ¿verdad?
No, no es la única solución. Debe ser muy largo para que tengas problemas con el Request. form ¿Lo has probado? ¿Cuántos caracteres? Sí, te tiene que funcionar con el Request. QueryString.
El script se ejecuta en el cliente y tú quieres enviar una select al servidor, lo que sí puedes hacer es que el código (select) no esté en otra página distinta sino en la misma, sería lo mismo pero con el ACTION del form apuntando a la página que estás ejecutando.
Respuesta
1
No sé mucho del tema de llamadas a objetos Server desde VBScript del lado del Cliente.
Te recomiendo que al presionar ese botón, se cargue una página que ejecute la función SQL. Así todo será más seguro.
Entonces, deberás hacer el llamado desde el código de una ASP. Así será seguro y nadie podrá conocer los datos del servidor, username y password. Me parece una forma muy segura.
Respuesta
1
A ver, pásame el código que tienes y lo que pretendes hacer para que me haga una idea
Respuesta
1
En principio no puedes acceder a datos directamente desde código script en la "parte cliente" de la página. Al pulsar el botón, la página se está ejecutando en el cliente, que realmente ya está desconectado del servidor. En esa situación, es imposible ejecutar ninguna sentencia SQL, ya que la página no tiene acceso a los datos.
Tienes 2 opciones: o utilizar RDS (Remote Data Services), o utilizar páginas ocultas. El primer caso es más complicado, pero permite abrir un canal de comunicación entre la página cliente y los datos del servidor. El segundo caso es "con trampa". En la página tienes un IFRAME invisible. Al hacer clic en el botón, haces que en ese IFRAME se cargue una página ASP que acceda a los datos. Si quieres le puedes pasar la sentencia SQL como parámetro.
Respuesta
1
Necesito que me digas bien que quieres hacer. O pásame la página que hiciste. Si me decís bien que es lo que tienes que entregar en la facultad puedo decirte como hacerlo.
Respuesta
1
Si lo que me dices es ejecutar una sentencia sql desde el cliente con un botón, creo que es imposible, ya que todo se hace en el servidor --> (server. Createobject("adodb.connection"). Desde ninguna página en el cliente se puede ejecutar una orden al servidor, lo mejor es que hagas un botón tipo submit y una página destino que ejecute la "function" y le muestre los resultados del sql al cliente. Las consultas a bases de datos siempre se hacen en el lado servidor.
Respuesta
1
Como poder se puede. Si no entiendo mal vos quieres ejecutar una consulta desde el cliente, pero esto no es tan fácil. Tienes que usar Remote Scripting (ejecutar código servidor remotante desde código cliente) y es bastante complicado usarlo (todos los detalles y archivos necesarios los podes sacar de microsoft.com).
Yo te recomendaría usar solo código servidor para ejecutar una consulta. Para esto podes hacer de tipo submit al botón y levantar los datos cuando es presionado (tendrías que preguntar desde código servidor alguna condición que te indique el botón fue apretado).
¿Me explique? Cualquier cosa preguntame.
Respuesta
1
Lo que no puedes hacer es incluir una sentencia SQL en una línea vbscript o cualquier scripting que se ejecute en la PC cliente (usuario). El filtro debe ejecutarse en el servidor por lo que debes especificar RUNAT = SERVER al inicio del script o lo mejor es usar ASP:
<%
%>
Al pulsar el botón, llamas a una página ASP que detecta qué botón fue pulsado y de allí ejecuta el SQL especificado.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas