Los Foros de ASPTutor.com
Home | Perfil | Registrarse | Temas Activos | Miembros | Buscar | FAQ
Usuario:
Password:
 Todos los Foros
 ASP
 ¿Alguien me puede decir cual es el problema?
 Foro Bloqueado  Tema Bloqueado


Autor Temas
Elizabeth Malváez
New Member

Mexico
71 Posts
Mensajes - 15 Dec 2001 :  03:57:14  Ver Perfil  Enviar Email

Tengo este error:

Tipo de error:
Error de Microsoft VBScript en tiempo de ejecución (0x800A01F4)
La variable no está definida: 'objConn'
/Nueva_Pagina2/InsertNaveg.asp, line 50


Esta es mi página InsertNaveg.asp

<%@ Language=VBScript %>
<% Option Explicit %>
<! - - #include virtual="/Nueva_Pagina/adovbs.inc"- - >
<! - - #include file="conect.asp"- - >
<html>
<body>

<%
Dim objRS, bolYaExiste
If ((Request.Form("UserName") = "") OR (Request.form("Password") = "") OR (Request.form("Email") = "") OR

(Request.form("Nombre") = "") OR (Request.Form("Apellido") = "") OR (Request.Form("Tipo") = "") OR

(Request.Form("Sucursal") = "")) Then
Response.Write "<font color=003366 face=verdana size=2><b>Debes introducir valores en todos los

campos.<p>"
Response.Write "<a href='admonreg.html'><font color=006080 face=verdana size=2><b>Regresar."
Response.Write "</a>"
Else
bolYaExiste = False
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open "tblUsuarios", objConn, , adLockOptimistic, adCmdTable
Do While Not (objRS.EOF OR bolYaExiste)
If (StrComp(objRS("UserName"), Request.Form("UserName"), vbTextCompare) = 0) Then
Response.Write "<font color=003366 face=verdana size=2><b>El Nombre de Usuario que intentas almacenar

ya está en uso. Por favor elige otro.<p></font>"
Response.Write "<a href='admonreg.html'><font color=006080 face=verdana size=2><b>Regresar."
Response.Write "</a>"
bolYaExiste = True
End If
If (StrComp(objRS("Email"), Request.Form("Email"), vbTextCompare) = 0) Then
Response.Write "<font color=003366 face=verdana size=2><b>El Email que intentas almacenar ya se

encuentra en la Base de Datos. Por favor elige otro.<p></font>"
Response.Write "<a href='admonreg.html'><font color=006080 face=verdana size=2><b>Regresar."
Response.Write "</a>"
bolYaExiste = True
End If
objRS.MoveNext
Loop
If Not bolYaExiste Then
objRS.AddNew
objRS("Nombre") = Request.Form("Nombre")
objRS("Apellido") = Request.Form("Apellido")
objRS("Tipo") = Request.Form("Tipo")
objRS("Email") = Request.Form("Email")
objRS("UserName") = Request.Form("UserName")
objRS("Password") = Request.Form("Password")
objRS("Sucursal") = Request.Form("Sucursal")
objRS.Update
Response.Write "<font color=003366 face=verdana size=2><b>El Registro se ha almacenado

correctamente.<p></font>"
Response.Write "<a href='admonreg.html'><font color=20a0ff face=verdana size=2><b>Agregar otro

Registro."
Response.Write "</a>"
End If
objRS.Close
Set objRS = Nothing
End If
objConn.Close
Set objConn = Nothing
%>
</body>
</html>

************************

conect.asp es solo un codigo para conectar a base de datos y esto es lo que contiene:

<%
Dim objConn
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.ConnectionString = "DRIVER={Microsoft Access Driver (*.mdb)};" & "DBQ=DB.mdb"
objConn.Open
%>

Espero que alguien me pueda dar una respuesta. Gracias.

Elizabeth Mlaváez.

(=^.^=)

asharak
Junior Member


210 Posts
Posted - 15 Dec 2001 :  22:03:38  Ver perfil  Enviar e-mail  Enviar asharak un Mensaje Yahoo!e
Hola Ely ;)

Tal vez es un problema de que defines la variable dentro del fichero include y luego la usas fuera de el y tal vez esto no se pueda hacer (puede que la variable solo exista localmente en el ambito del fichero incluido)

Aunque yo creo que es mejor que te crees una funcion para abrir la conexion (dentro del include)

**********


Function abreConexion()
Dim objConn
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.ConnectionString = "DRIVER={Microsoft Access Driver (*.mdb)};" & "DBQ=DB.mdb"
objConn.Open
Set abreConexion = objConn
End Function

************

Luego solo tienes que llamarla asi (siempre que antes hayas incluido el fichero):

'Tambien tendrias que declarar la conexion de todas formas
Dim miConexion

Set miConexion = abreConexion()

Un beso ;)

asharakInicio Pagina

Alexis_m20
Senior Member

Chile
1021 Posts
Posted - 21 Dec 2001 :  17:51:21  Ver perfil  Enviar e-mail  Visit Alexis_m20's Homepage
al igual que asharak la coneccion de la base de datos debe estar el la misma página ocoo dice el con una funcion
pero es preferible que se cree en la misma página

Inicio Pagina

asharak
Junior Member


210 Posts
Posted - 21 Dec 2001 :  23:33:19  Ver perfil  Enviar e-mail  Enviar asharak un Mensaje Yahoo!e
Hola Alexis :)

Te equivocas, no es ni mucho menos preferible que este en la misma pagina ...

Imagina un proyecto con unas cuantas paginas asp que acceden a la misma base de datos ... imagina tambien que por necesidades del servidor la base de datos tiene que estar en una carpeta distinta a la que usas tu en local ... lo normal.

Si tienes pocas paginas asp accediendo a la BD, solo cambias la cadena de conexion para adaptarla a la del servidor unas pocas veces, pero si son sesenta paginas asp (por ejemplo) imaginate ir una por una cambiando solo la cadena de conexion ... horrible no?

Si todas estas paginas llaman a un fichero incluido como:
<! - - #include file="../includes/conexion.asp"- - >

solo tienes que cambiar la cadena de conexion en el fichero conexion.asp y todo el proyecto queda actualizado.

Es un consejo :)

asharakInicio Pagina

ars
Starting Member


23 Posts
Posted - 22 Dec 2001 :  20:45:00  Ver perfil  Enviar e-mail
creo que el problema esta en el open del recordset ya que usas un objeto conexion en lugar de un string de conexion
eje.
con="DRIVER={Microsoft Access Driver (*.mdb)};" & "DBQ=DB.mdb"
objrec.open "tabla o sql",con


Inicio Pagina

ars
Starting Member


23 Posts
Posted - 22 Dec 2001 :  20:45:14  Ver perfil  Enviar e-mail
creo que el problema esta en el open del recordset ya que usas un objeto conexion en lugar de un string de conexion
eje.
con="DRIVER={Microsoft Access Driver (*.mdb)};" & "DBQ=DB.mdb"
objrec.open "tabla o sql",con


Inicio Pagina

ars
Starting Member


23 Posts
Posted - 22 Dec 2001 :  20:45:23  Ver perfil  Enviar e-mail
creo que el problema esta en el open del recordset ya que usas un objeto conexion en lugar de un string de conexion
eje.
con="DRIVER={Microsoft Access Driver (*.mdb)};" & "DBQ=DB.mdb"
objrec.open "tabla o sql",con


Inicio Pagina

ars
Starting Member


23 Posts
Posted - 22 Dec 2001 :  20:45:33  Ver perfil  Enviar e-mail
creo que el problema esta en el open del recordset ya que usas un objeto conexion en lugar de un string de conexion
eje.
con="DRIVER={Microsoft Access Driver (*.mdb)};" & "DBQ=DB.mdb"
objrec.open "tabla o sql",con


Inicio Pagina

ariell
Starting Member


30 Posts
Posted - 01 Nov 2004 :  16:39:56  Ver perfil  Enviar e-mail
Bueno, creo que hay dos temas... uno es si se puede definir o no en otro archivo las conexiones de las bases de datos... bueno, esto se puede hacer, es mas, es la forma en que trabajo... pues el dia de mañana migras todo a una base de datos distinta y chau programacion... con modificar una sola pagina listo!!!

el otro tema es porque no funciona... veamos, me parece que esta mal agregada las lineas

<! - - #include virtual="/Nueva_Pagina/adovbs.inc"- - >
<! - - #include file="conect.asp"- - >

dado que deberia ser de esta manera

<!-- #include virtual="/Nueva_Pagina/adovbs.inc" -->
<!-- #include file="conect.asp" -->

Al estar mal definidas las paginas incluidas entonces no se incluyen y dan como que el objeto objConn no existe. Si le sacas los espacios, pruebalo, creo que damos en el clavo... cualquier consulta dime que estoy a tus ordenes

Inicio Pagina

   
 Foro Bloqueado  Tema Bloqueado
Ir a:
Los Foros de ASPTutor.com Los Foros de ASPTutor.com
Ir al principio de la Página

 Imprimir Tema
 

Descargas de manuales¦ Ejemplos de código ¦ Artículos mas visitados ¦ Envía tu articulo ¦ Foros ¦
  Libro de visitas ¦Crea un enlace con ASPTutor 
 

    © 2001-Hasta hoy  Pedro Rufo Martín  contactar