Comment vous ecrivez vos pages asp.net ? [Résolu]

Signaler
Messages postés
178
Date d'inscription
jeudi 21 février 2002
Statut
Membre
Dernière intervention
30 juillet 2008
-
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
-
Bonsoir a tous,

Je viens d'ecrire une procedure pour ouvrir un base de donnees Access avec asp.net et une autre procedure qui ferme cette meme base. Et Cela fonctionne bien.

Maintenant je veux interroger ma base access sur plusieurs pages.
Est ce que vous recopier vos procedures sur toute les pages qui accedent a la base ?
Ou peut etre que vous faite autrement, si c'est le cas pourriez vous me dire comment ?
Car je trouve un peu bete de recopier n fois la meme procedure....

6 réponses

Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
moi ce que je fais, c'est que je fais une classe qui gere juste la gestion des données, comme ca j'ai toute mes fonctions sous la main n'importe dans quelle page ou je suis.

Cyril
Messages postés
178
Date d'inscription
jeudi 21 février 2002
Statut
Membre
Dernière intervention
30 juillet 2008
1
Bah t'as reponse me va parfaitement.
Merci.
Messages postés
507
Date d'inscription
jeudi 28 mars 2002
Statut
Membre
Dernière intervention
13 mai 2009
1
Sinon encore mieux, mais plus difficile, tu crées des objets de persistance avec un outil (gratuit) comme celui ci par exemple :

www.d4modelizer.com

Je l'ai testé c'est pas mal du tout

<--St@iLeR-->
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
qu'est-ce que tu appelles des objets de persistance ?

Car moi ce que je fais precisement.

Tout mes appels à la bdd sont fait par des procédures stockés, j'ai une classe qui contient toutes les fonctions SQL qui renvoie un dataset, ou datareader ou encore un objet créer à partir d'une classe qui colle aux données.

Je m'explique :

Namespace Site.Data
public class Article

Public sub new(ArticlesID as integer)
_ArticleID = ArticleID
end sub

Public property ArticlesID as integer
end class
end namespace

Namespace Site
Public Class Data
public sub new(connectionstring)
end sub

public function GetArticle(ArticleID as integer) as Site.Data.Article
'appel bdd
return new Site.Data.Article(bdd("ArticleID")
end function
end class
end namespace

Bien sur faire des classes, c'est le nec plus ultra, ca permet surtout de faire tres rapidement des choses, on a l'intellisense, les objets sont déja typés, apres si l'on est à l'aise avec les objets on peut faire pas mal de trucs tres puissant: mis en cache des objets, tri etc...
mais déjà de retourner un DataReader ou DataSet c'est pas mal ;)

Ensuite dans ma page, pour accéder au donné, j'ai deux solutions, soit de rajouter

un import Site.Data
dim Data as new Site.Data("connectionstring")
data.getArticle(3)

ca fait quand meme 3 ligne ca ;)

mais comme la plupart du temps, je derive l'objet page ca donne ca

imports System.Data

public class mypage
inerits system.web.ui.page

public sub new()
Data = new Data("connectionString")
mybase.new()
end sub

public property Data as Site.Data
end class

toute mes pages héritent de mypage
et je peux accéder aux données n'importe ou dans ma page en faisant : label1.text "Article ID " & me.Data.GetArticle(3).ArticleID

Voila en gros le principe, le code ci dessus peut etre faux, je l'ai tapé comme ca, mais c'est la structure qui est importante ;) c'est vrai que par contre ca fait beaucoup, beaucoup de travail, car faut bien géré la memoire, si l'on veut que ce soit utile ;)

est-ce la meme chose que les objets de persistance? je vais aller voir l'adresse.

Cyril
Messages postés
507
Date d'inscription
jeudi 28 mars 2002
Statut
Membre
Dernière intervention
13 mai 2009
1
Vivi c'est à ca !

Donc concrètement tu as une appli qui te sors une DLL... C'est elle qui s'occupe de TOUT l'accés aux données et renvoie un dataset.
Les requêtes SQL peuvent être dedans, mais tu peux aussi utiliser les procédures stockées pour encore davantage de séparation.

Ensuite dans ton appli qui servira d'interface, tu recenses ta dll et tu utilises les objets qui ont été généré par défaut, et ceux que tu as rajouté pour des requêtes plus complexes.

Va voir la démo du logiciel d4modelizer et tu vas comprendre tout de suite, puisque finalement c'est à 99% ce que tu fais.

Après évidemment il y a d'autres logiciels plus puissants (et pas gratuits) qui t'aident à faire des trucs encore plus poussés.

Il me semble que ce sera le cas de ObjectSpaces dans VisualStudio 2005.

<--St@iLeR-->
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
ah bah je connaissais pas, effectivement ca à l'air d'etre interessant, et assez en rapport avec ce que je fais, ca doit eviter quelques lignes de codes, apres on peut faire une couche par dessus qui se sert de cette dll, pour renvoyer les données.

Merci pour ce lien

Cyril