Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Langages serveur > ASP
ASP Forum sur la programmation ASP. Avant de poster : Cours ASP, FAQ ASP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/05/2007, 15h24   #1
Nouveau Membre du Club
 
Inscription : novembre 2005
Messages : 114
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 114
Points : 29
Points : 29
Par défaut Inclure variable de connexion à partir fichier

Salut

Je mets une base access en ligne grâce à des pages web. Je me connecte sans problème à ma base. Cependant je veux enregistrer les scripts de connexion / déconnexion dans un fichier externe, que j'insère par un "#include file =..."
voici le contenu de ce fichier :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<%
   <%
	public sub connexion()
	dim cnn
	dim strconnect
	style = "fonce"
	' Vérifier qu'une référence a bien été transmise
	strconnect = "DSN=tecno"
	set cnn = Server.CreateObject("ADODB.Connection")
	cnn.Open strconnect
	Response.Write "connexion établie avec la base de données TECNOMA...<br>"
	end sub
 
	public sub fermerconnexion()
		cnn.close
		set cnn = nothing
	end sub
 
 
%>
La connexion se fait, cependant j'ai besoin de la variable cnn pour créer des Recordset dans mes pages de destination. Comment faire pour l'exporter ? J'ai pensé à faire non une procédure mais une fonction, mais comment la déclarer : quel est le type de cette variable cnn ?

Merci
patbeautifulday1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2007, 15h53   #2
Modérateur
 
Avatar de roro06
 
Inscription : avril 2007
Messages : 1 364
Détails du profil
Informations personnelles :
Âge : 42

Informations forums :
Inscription : avril 2007
Messages : 1 364
Points : 1 551
Points : 1 551
Bonjour

Comme ton script le montre bien, cnn n'est pas une variable, mais un objet ("adodb.connection" pour etre précis)

Si je comprends bien ta question, tu veux utiliser ton objet cnn dans toutes les pages de ton site, en incluant le fichier que tu montres par un #include. "Ca marchera pas !" :
raison première, tes variables cnn et strConnect sont définies dans ta procédure, elle ne peuvent donc être connues que de celle-ci.

solution :
dim cnn
dim strconnect

public sub connexion()
'blabla
end sub

2/ tu n'as en fait pas vraiment besoin de l'objet cnn, en faisant :
dim rs
set rs=server.createObject("adodb.recordset")
rs.ActiveConnection=strConnect
rs.source="select * ..."
rs.open

Il y a d'autres solutions, bien sur.

Cordialement
roro06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2007, 16h14   #3
Nouveau Membre du Club
 
Inscription : novembre 2005
Messages : 114
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 114
Points : 29
Points : 29
Salut roro06

Merci de ta réponse. J'ai en effet pu ouvrir un recordset en appelant ma fonction dans le fichier connexion.asp :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
dim cnn
	dim strconnect
 
	function connexion()
	style = "fonce"
	' Vérifier qu'une référence a bien été transmise
	strconnect = "DSN=tecno"
	set cnn = Server.CreateObject("ADODB.Connection")
	cnn.Open strconnect
	'Response.Write "connexion établie avec la base de données TECNOMA...<br>"
	'Response.Write cnn
	connexion = cnn
	end function
 
	public sub fermerconnexion()
		cnn.close
		set cnn = nothing
	end sub
Je les ouvre en appelant la fonction:
Code :
rst.Open strsql, connexion, 3, 3
Le problème c'est que maintenant c'est ma procédure fermerconnexion() qui ne marche pas, à la fin de mes scripts dans mes pages.
patbeautifulday1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2007, 16h47   #4
Modérateur
 
Avatar de roro06
 
Inscription : avril 2007
Messages : 1 364
Détails du profil
Informations personnelles :
Âge : 42

Informations forums :
Inscription : avril 2007
Messages : 1 364
Points : 1 551
Points : 1 551
quel message as tu ?
roro06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h58.


 
 
 
 
Partenaires

Hébergement Web