Phalalis
Messages postés83Date d'inscriptionmardi 7 juin 2005StatutMembreDernière intervention19 février 2012
-
27 mai 2008 à 14:33
Phalalis
Messages postés83Date d'inscriptionmardi 7 juin 2005StatutMembreDernière intervention19 février 2012
-
28 mai 2008 à 13:42
Bien le bonjour,
Je suis actuellement en train de me former a ASP.Net avec le kit de formation Microsoft .
Je suis en train de réaliser l'exercice du chapitre 5 qui correspond a la manipulation de donnée SQL serveur a travers ASP.Net.
Phrase du bouquin :
Glissez-déposez les trois tables de l'Explorateur de serveurs vers la page Global.asax.
VS est censer me générer mes composants de connexions et d'adaptateurs pour chacune de mes tables .
Quelqu'un aurait une idée de comment rajouter mes tables au fichier Global.asax...Merci d'avance
GillouXman
Messages postés561Date d'inscriptionmardi 4 mars 2008StatutMembreDernière intervention10 juin 2010 27 mai 2008 à 14:58
salut
je vois bien ce que tu veux faire mais je vois pas trop le rapport ac le Global.asax
le truc c'est que tu sais farire glisser des tables directement de l'Explorateur DB et en fait il te crée tout ce qui string de connection, requête (sqldatasource) et le composant .NET pour pouvoir l'afficher
le string de connection se trouvera dans le web.config et pourra être utiliser pour d'autres connections à la db.
le sqldatasource et le gridview(composant .net) par exemple se trouvant dans la page ou tu as fais glisser les tables.
Phalalis
Messages postés83Date d'inscriptionmardi 7 juin 2005StatutMembreDernière intervention19 février 20121 27 mai 2008 à 15:17
Je ne fait que suivre les exercices du bouquin.
Voici ce qu'il me dit : les composants connexion à la base, adaptateur et groupe de données sont ajoutés au fichier Global.asax et enregistrés dans des variables d'état de session afin qu'ils puissent être accessibles à partir de toutes les pages Web.
But : Economise les ressources coté serveur et simplifie la mise au points du développement en regroupant les composants liés la base de données.
De plus je ne comprend pas bien le déroulement de leurs exercices, que je vous mets ci dessous :
4 - [....] Glissez-déposez les trois tables de l'Explorateur de serveurs vers la page Global.asax. Visual Studio ajoute les composants de connexion et adaptateur pour chacune des tables.
5 - Chaque adaptateur représente une des tables que vous avez déposées sur la page. [...]
Y a un peu contradiction entre le global et les pages....
GillouXman
Messages postés561Date d'inscriptionmardi 4 mars 2008StatutMembreDernière intervention10 juin 2010 27 mai 2008 à 15:29
c'est pê possible d'utiliser le global pour ca mais perso j'ai jamais utilisé et je pense pas que ce soit la meilleur manière de s'occuper de tout ce qui est accès db
Phalalis
Messages postés83Date d'inscriptionmardi 7 juin 2005StatutMembreDernière intervention19 février 20121 27 mai 2008 à 15:34
C'est sur jme prendrait moins la tete....mais bon j'ai bien envie de finir mes exo....
En attendant que quelqu'un ayant deja mis en place une solution de ce genre se présente...Je passe a l'exo suivant.
Par contre il est vrai que la solution présenté par le bouquin microsoft a l'air (architecturalement parlant) efficace (moins de redondances dans les déclarations des connexions).
Je reste en attentes. Et merci Gillou d'avoir essayer...
Vous n’avez pas trouvé la réponse que vous recherchez ?
GillouXman
Messages postés561Date d'inscriptionmardi 4 mars 2008StatutMembreDernière intervention10 juin 2010 27 mai 2008 à 15:42
non sincérement tu verras qu'il a y des moyens bien plus efficace = facilité de réutilisation, pas de redondances de codes, ... . Cela s'appelle l'orienté objet :D
le prob ici est que tu gardes une connection ouverte pendant toute la session.
Ce qui veut dire que si tu as 40 000 users just un exemple) connectés au site, il est possible qu'il n y ait plus de connections dispo et utilise la meme connection pour toute tes requetes entraine des prob de performances.
la philosophie en géneral c'est de ouvrir la connection au moment ou tu en as besoin et la refermé le plus vite possible.
using System;
using System.Collections;
using System.ComponentModel;
using System.Web;
using System.Web.SessionState;
using System.Data;
using System.Data.SqlClient;
namespace csContactManagement
{
/// <summary>
/// Summary description for Global.
/// </summary>
public class Global : System.Web.HttpApplication
{
private System.Data.SqlClient.SqlConnection ContactMgmt;
private System.Data.SqlClient.SqlDataAdapter adptContacts;
private System.Data.SqlClient.SqlDataAdapter adptCalls;
private System.Data.SqlClient.SqlDataAdapter adptContactTypes;
private csContactManagement.dsContacts dsContacts;
private csContactManagement.dsCalls dsCalls;
private csContactManagement.dsContactTypes dsContactTypes;
'Je coupe un peu les déclarations
protected void Application_Start(Object sender, EventArgs e)
{
}
public Global()
{
InitializeComponent();
}
protected void Session_Start(object sender, System.EventArgs e)
{
// Database connection.
Session["ContactMgmt"] = ContactMgmt;
// Data adapters.
Session["adptCalls"] = adptCalls;
Session["adptContactTypes"] = adptContactTypes;
Session["adptContacts"] = adptContacts;
// Data sets.
Session["dsCalls"] = dsCalls;
Session["dsContactTypes"] = dsContactTypes;
Session["dsContacts"] = dsContacts;
}
J'ai sauté la suite car non nécessaire a la compréhension de mon probléme ...et beaucoup trop long
Donc logiquement en effectuant mon glissez déposé depuis mes tables vers mon global.asax il devrait me faire un truc dans le genre dans mon global.asax.cs
Sinon en attendant je suis obligé aussi de sauté l'exercice suivant sur le traitement des exceptions car il utilise le meme projet .