PREGUNTAS CONTESTADAS - ASP≤nguaje=

 Hay un total de 357 Preguntas.<<  >> 

    Pregunta:  58934 - MEJOR UN RECORDSET CON 1000 TUPLAS ABIERTO O 50 CONSULTAS.
Autor:  Imanol DM
Tengo una duda:
Tengo una página web que tiene unos textos en una Base de Datos.
Entonces, cuando se ejecuta una pagina cualquiera, se cargan todas las tuplas de texto(1000) y luego hago un filter por el codigo que yo quiero.
La cuestion es: que es mejor que haga, mantener abierto el recordset durante toda la ejecucion de la pagina cerrandolo al final del documento, o es mejor que haga las 30 - 50 llamadas a la Base de Datos recogiendo el dato.
  Respuesta:  alexis adrovez
Creo ke deberias ver la posibilidad de obtener mediante una sentencia SQL los datos necesarios ha mostrar.

En cuanto a llamar 30-50 veces la base de datos no te lo recomiendo.

Por ultimo, si no es posible filtrar el contenido y debes manejar mas de 1000 registros, te recomiendo use el objeto GetRow el cual es mucho mas rapido que un RecordSet

http://www.aspfacil.com/articulos/110201.asp

    Pregunta:  59788 - BINARYWRITE PDF SIN TOOLBAR
Autor:  Juanis Chavez
Buen día

Tengo una pag ASP y muestra perfectamente el documento PDF desde una base de datos ORACLE

Con la instruccion:
Response.ContentType = "application/pdf"
Response.BinaryWrite(Ob_RS_Ora.fields("DOCUMENTO"))

Sin embargo quiero que al abrir el PDF no muestre la barra de herramientas de PDF

He estado leyendo un poco y en algunos foros dice que debo agregar "#toolbar=0" pero no se donde =S

espero alguien pueda ayudarme

de antemano gracias

saludos
  Respuesta:  Wilfredo
En realidad si montas esto en un interdev, verás las propiedaddes del acrobat, asi es el propio acrobat quien debe abrirlo, lo malo que el style no es máximixado, tendrás que ejecutar un script para ello en el cliente.

<HTML>
<HEAD>
<META http-equiv="Pragma" content="no-cache">
<META http-equiv="cache-control" content="no-store">
<meta http-equiv="Content-TYPE" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
<table width=100% border=0 cellspacing=0>
<TR><TD align=center bgcolor=white>
<%'ruta es con http://server/pagina.asp?id=valor del identificador del fichero%>
<OBJECT name=AcroPDF1 style="LEFT: 0px; WIDTH: 600px; TOP: 0px; HEIGHT: 500px" classid="clsid:CA8A9780-280D-11CF-A24D-444553540000">
<PARAM NAME="src" VALUE="<%=xruta%>">
</OBJECT>
</TD></TR>
</TABLE>
<script languaje=javascript>
//document.AcroPDF1.style.width=window.screen.width;
//document.AcroPDF1.style.height=window.screen.height;
</script>
</BODY>
</HTML>

    Pregunta:  60061 - HABILITAR CONTROLES DE OTRA PAGINA ASP.NET
Autor:  Juan Silupu
Hola que tal:
Estoy desarrollando en ASP.NET y tengo una duda :

Quiero habilitar una seria de botones que tengo en una pagin pero desde otra pagina... alguien sabe como puedo hacer referencia a esto... seria : PaginaX.ControlX.Propiedaes!!!!

Por fa
  Respuesta:  Diego
son pop-ups ? probaste con un JavaScript ?

    Pregunta:  60140 - COMO LLAMO STORE PROCEDURA ORACLE CON ASP
Autor:  Alexis Adrovez
tengo un package al cual contiene 2 procedimentos almacenados, uno de ellos encargado de insertar datos a la tabla.

El procedimiento o package lo he podido compilar en el toad y me funciona perfecto. El problema es cuando lo llamo desde asp, me da el siguiente error

-2147217900
ora-06550: line 1, column 7: pls-00306: wrong number or types of arguments in call to 'ingresa_pedido' ora-06550: line 1, column 7: pl/sql: statement ignored

este es el codigo asp

set conn = server.createobject("adodb.connection")
conn.open cadenaconexion
set pobjrec = server.createobject( "adodb.recordset" )
set pobjcom = server.createobject( "adodb.command" )

vvar_nombre = "alexis"
vvar_direccion = "aki"
vvar_id_comuna =1
vvar_id_ciudad = 1
vvar_id_cliente = 1
vvar_id_producto = 1
vvar_id_trabajo = 1
vvar_fecha ="01/01/1900"
vvar_plazo_cotizacion = 3
vvar_observacion ="hola"
vvar_modifica_suministro = 1

with pobjcom
.activeconnection = conn
.commandtext = "pkg_actualiza_pedido.ingresa_pedido"
.commandtype = 4
.parameters.refresh
.parameters("@var_nombre") = vvar_nombre
.parameters("@var_direccion") = vvar_direccion
.parameters("@var_id_comuna") = vvar_id_comuna
.parameters("@var_id_ciudad") = vvar_id_ciudad
.parameters("@var_id_cliente") = vvar_id_cliente
.parameters("@var_id_producto") = var_id_producto
.parameters("@var_id_trabajo") = vvar_id_trabajo
.parameters("@var_fecha") = vvar_fecha
.parameters("@var_plazo_c
  Respuesta:  Mar
Hola. Ante todo los nombres de los parámetros deben ser ls mismos que en el procedimiento, si no te fallará. Si ésto lo tienes así, yo lo hago de la siguiente forma:
Desde el ASP llamas a una función que será la que llame al procedimiento almacenado de la forma:

function nombre(parametros_entrada,parametros_salida )

Set cmdStoredProc = Server.CreateObject("ADODB.Command")
Set cmdStoredProc.ActiveConnection = ConexBD
donde ConexBD es la conexion a la BD

Ahora llamas al procedimiento almacenado de la forma:
cmdStoredProc.CommandText = "Nombre_Paquete.NombreProcedure"
cmdStoredProc.CommandType = 4

Creas lo parametros de entrada de la forma (en caso de que los tuviera);
cmdStoredProc.Parameters.Append cmdStoredProc.CreateParameter(Name, Type , Direction , Size, Value )
Tantas veces como parámetros haya (de entrada y de salida)
Ejecutamos el procedure;
cmdStoredProc.Execute

y recogemos los de salida en caso de que los haya:

parametro_salida = cmdStoredProc.Parameters("campo").value

Set cmdStoredProc = nothing
end function

Espero haberte ayudado
  Respuesta:  Alexis Adrovez
Intente ejecutar el procedimiento como mencionasta

Set conn = Server.CreateObject("ADODB.Connection")

conn.open cadenaConexion


Set cmdStoredProc = Server.CreateObject("ADODB.Command")
Set cmdStoredProc.ActiveConnection = conn


'Ahora llamas al procedimiento almacenado de la forma:
cmdStoredProc.CommandText = "Pkg_actualiza_pedido.Ingresa_Pedido"
cmdStoredProc.CommandType = 4
cmdStoredProc.Parameters.Append cmdStoredProc.CreateParameter(var_NOMBRE, 200 , 1 , , "Prueba" )
cmdStoredProc.Parameters.Append cmdStoredProc.CreateParameter(var_DIRECCION, 200 , 1 , , "Prueba" )
cmdStoredProc.Parameters.Append cmdStoredProc.CreateParameter(var_ID_COMUNA, 130 , 1 , , 1 )
cmdStoredProc.Parameters.Append cmdStoredProc.CreateParameter(var_ID_CIUDAD, 130 , 1 , , 1 )
cmdStoredProc.Parameters.Append cmdStoredProc.CreateParameter(var_ID_CLIENTE, 130 , 1 , , 1 )
cmdStoredProc.Parameters.Append cmdStoredProc.CreateParameter(var_ID_PRODUCTO, 130 , 1 , , 1 )
cmdStoredProc.Parameters.Append cmdStoredProc.CreateParameter(var_ID_TRABAJO, 130 , 1 , , 1 )
cmdStoredProc.Parameters.Append cmdStoredProc.CreateParameter(var_FECHA, 200 , 1 , , "01/01/1900" )
cmdStoredProc.Parameters.Append cmdStoredProc.CreateParameter(var_PLAZO_COTIZACION, 130 , 1 , , 3 )
cmdStoredProc.Parameters.Append cmdStoredProc.CreateParameter(var_OBSERVACION, 200 , 1 , , "hola" )


'Ejecutamos el procedure;
cmdStoredProc.Execute


Pero no me resulto.......

Intente de la siguiente forma y me resulta solo para procedimientos que tengan como objetivo Insertar o Modificar.

SQL = Nombre_Paquete.Procedure(var1,var2,varN)

conexion.execute(SQL)

De esta forma he podido ejecutar un procedimiento almacenado en Oracle...pero solo para Insertar o Modificar ya que priden parametros de Entrada.

Lo que es consulta de datos los cuale me retorna varios registro no me sirve....la vedad ya no se ke hacer...primera vez que me pasa algo asi....ya que con ASP.NET no tengo ningun problema.

gracia.

    Pregunta:  60537 - SI EXISTE ARCHIVO CON EXTENSION, ME DEVUELVA UN TEXTO?
Autor:  Miguel Granados
Buenas.

Tengo una pagina hecha en ASP, y necesitaria que si en una determinada carpeta existe un archivo con una extension determinada, me devuelva un texto. So como hacer para que si sé el nombre concreto del archivo, me lo devuelva, pero el problema es que estos archivos se iran modicando dia a dia.

El problema es que File Exists no acepta comodines del tipo "*.doc", sabriais como hacerlo?

Os agradezco mucho vuestra atencion, y os dejo el codigo que trato de usar:

<%
Set objFS = Server.CreateObject("Scripting.FileSystemObject")
If objFS.FileExists("\192.168.1.14docs*.doc") Then
response.write("<font color='#00FF00' size='4' face='Arial, Helvetica, sans-serif'>Lo tiene </font>")
else
response.write("<font color='#FF0000' size='4' face='Arial, Helvetica, sans-serif'>No lo tiene </font>")
end if
%>
  Respuesta:  Jose Antonio Cabañero Damas
function instrFileInFolder(folder, fileMask)
Set objFS = Server.CreateObject("Scripting.FileSystemObject")
set miCarpeta = objFs.getFolder(folder)

encontrado=false
nArchivo=0
do while nArchivo<miCarpeta.files.count and encontrado=false
set archivo = miCarpeta.files(nArchivo)
if instr(archivo.filename, filemask)>0 then
encontrado=true
end if
loop
instrFileInFolder=encontrado
end function

If instrFileInFolder("\192.168.1.14docs", ".doc") Then
response.write("<font color='#00FF00' size='4' face='Arial, Helvetica, sans-serif'>Lo tiene </font>")
else
response.write("<font color='#FF0000' size='4' face='Arial, Helvetica, sans-serif'>No lo tiene </font>")
end if

/*******************************************************************************/

Espero que te sirva, lo he hecho de cabeza por lo que no he podido probarlo si tienes cualquier duda no dudes en contactar conmigo.

http://www.deseoqueteguste.com

    Pregunta:  61140 - CONVERTIR PAGINA DE ASP EN ARCHIVO DLL
Autor:  Mauricio Orozco
Hola amigos, tengo una página que he creado en ASP estandar para una empresa, pero tengo la leve sospecha de que está siendo saboteada por alguna persona, el caso es que como no sé quien es, entonces no puedo hacer nada.

Pero hace mucho tiempo por ahi googleando leí algo como de que se puede convertir todo el sitio en un archivo DLL, es posible esto o no. La paginita corre sobre IIS, y se conecta a una base de Access, que está en una carpeta llamada DB y está al mismo nivel de todo el sitio.

Gracias por su colaboración.
  Respuesta:  Gabriel Del Rio
Si puedes hacer eso. hay varios tutoriales para poder hacerlo ahi en el google...

Pero creo que el problema de la modificacion podria ser no la pagina en si. Es decir dudo mucho que alguien entre a tu servidor y modifique el archivo asp directamente (que podria ser no es descartado) pero muy posiblemente te esten inyectando codigo a tu base de datos... y eso si seria algo mas grave y de ahi creas que te estan haciendo las modificaciones al archivo, porque tiene comportamientos extraños.

te dejo unas ligas para que revises.

http://www.elguruprogramador.com.ar/articulos/crear-un-dll-activex-para-usar-con-asp.htm
http://www.aspfacil.com/articulos/componente.asp
http://vexpert.mvps.org/articles/wc1.htm

http://es.wikipedia.org/wiki/Inyección_SQL
http://foro.elhacker.net/tutoriales_documentacion/tutorial_de_inyeccion_sql_sql_injection-t98448.0.html

    Pregunta:  61484 - ERROR EN LA CONECCION CON ACCESS
Autor:  lis ramirez
hola miren tengo un problema con mi coneccion, la revise ya varias veces y es correcta pero a la hora de ejecutarla sale el sig error:

Tipo de error:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][Controlador ODBC Microsoft Access]Error general No se puede abrir la clave 'Temporary (volatile) Ace DSN for process 0x8c0 Thread 0x364 DBC 0x7324044 Jet' del Registro.
/esta es/contrasena.asp, línea 18

Tipo de explorador:
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; InfoPath.2)

Página:
GET /esta es/contrasena.asp

ESTE ES MI CODIGO:

<%
Dim oConn, rs, sql
set oConn=Server.CreateObject("ADODB.Connection")
set rs=Server.CreateObject("ADODB.RecordSet")

oConn.open ("DRIVER={Microsoft Access Driver(*.mdb, *.accdb)}; DBQ="& Server.MapPath("bd_inventario1.accdb"))

sql="select*from inventario;"
rs.Open sql, oConn

do until rs.EOF
Response.Write("no_inventario")
Response.Write(rs.fields("txtno_inventario")&"
")
Response.Write("descripcion")
Response.Write(rs.fields("txtdescripcion")&"
")
Response.Write("um")
Response.Write(rs.fields("txtum")&"
")
Response.Write("cantidad")
Response.Write(rs.fields("txtcantidad")&"
")
Response.Write("no_serie")
Response.Write(rs.fields("txtno_serie")&"
")
Response.Write("marca")
Response.Write(rs.fields("txtmarca")&"
")
Response.Write("
")
rs.MoveNext
loop

%>
  Respuesta:  Wilfredo
No veo tu código para ver como tal la conexión vía dsn, pero puedes hacerlo vía cadena de conexión, ejemplo para sql server y access
Set cn = Server.CreateObject("ADODB.Connection")

cn.Provider = "sqloledb"
'para sql server
ProvStr = "Server=IP_O_Nombre_Servidor;Database=Nombre_Base_Datos;UID=usuario_Base_Datos;PWD=clave_usuario_Base_Datos;"
'para access
ProvStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Ruta_fisica_del_MDB_en_DiscoNombre_Base_Datos;Persist Security Info=false;"
cn.CommandTimeout = 1000
cn.ConnectionTimeout = 1000
cn.Open ProvStr

|<  <<  26 27 28 29 30 31 32 33 34 35 36  >>  >|