Appel fonction dans une autre classe

Signaler
Messages postés
7
Date d'inscription
mercredi 29 décembre 2004
Statut
Membre
Dernière intervention
22 juillet 2006
-
Messages postés
540
Date d'inscription
dimanche 29 décembre 2002
Statut
Modérateur
Dernière intervention
13 mai 2011
-
Bonjour,

J'ai un problème pour appeler une fonction (déclarée dans une page.aspx) dans une classe déclarée sur une autre page.
Ma fonction n'est pas reconnu dans la classe.

Pour que vous compreniez mieux mon problème, voici la structure de mon site :

j'ai une page param_connexion.aspx avec la fonction select_req qui me permet d'attaquer la base :

<%@ Import Namespace="System.data" %>
<%@ Import Namespace="System.data.SqlClient" %>
<script runat="server" language="vb">
Public function select_req(requete_var)
      Dim mySqlConnection as SqlConnection = new SqlConnection(Application("chaine_connexion")
    Dim mySqlDataAdapter as SqlDataAdapter = new SqlDataAdapter(requete_var, mySqlConnection)
    Dim myDataSet as DataSet = new DataSet()
    mySqlDataAdapter.Fill(myDataSet,"table_requete"
    Dim myDataView as DataView = new DataView(myDataSet.Tables("table_requete"))   
    select_req=myDataView 
end function
</script>

Dans toutes les pages de mon site, j'inclue cette page avec une balise include: cela me permet de faire des requetes sur la base en utilisant directement la fonction select_req (sans avoir à rettaper toutes les lignes de commande pour chaque requete) et cela marche tres bien.

Maintenant, j'ai une autre page qui contient une classe, et à l'intérieur de cette classe, j'ai une fonction qui fait appel à la fonction select_req. Et c'est ici que l'on trouve le probleme, la fonction select_req n'est pas reconnue à l'intérieur de cette classe.

Comment faut il faire pour que ma fonction select_req soit reconnue dans toutes les classes de mon site?
Peut etre y a t il une meilleure methode pour stocker cette fonction select_req autre que dans une simple page aspx?

Je ne sais pas si j'ai été clair. N'hésitez pas à me poser des questions si vous avez besoin d'infos supplémnetaires.

Merci d'avance

3 réponses

Messages postés
540
Date d'inscription
dimanche 29 décembre 2002
Statut
Modérateur
Dernière intervention
13 mai 2011

Ajoute un répertoire App_Code, et créé un fichier .vb qui contient une classe qui contient méthode statique publique "select_req".
Tu auras accès à la classe dans tout le projet  et donc à la méthode.

Poppyto
Messages postés
7
Date d'inscription
mercredi 29 décembre 2004
Statut
Membre
Dernière intervention
22 juillet 2006

J'ai essayé de créer un fichier connexion.vb dans un repertroire App_Code avec le code suivant :




Public   static class connexion_class
 
function select_req(requete_var)

 Dim mySqlConnection as SqlConnection = new SqlConnection(Application("chaine_connexion"))

   
    Dim mySqlDataAdapter as SqlDataAdapter = new SqlDataAdapter(requete_var, mySqlConnection)
    Dim myDataSet as DataSet = new DataSet()
    mySqlDataAdapter.Fill(myDataSet,"table_requete")



 ' Create a new dataview instance on the Employees table that was just created
    Dim myDataView as DataView = new DataView(myDataSet.Tables("table_requete"))
   
 select_req=myDataView
 
end function




end class

Mais voici l'erreur qu'il me retourne :

Compiler Error Message: BC30461: Classes cannot be declared 'Static'.

Source Error:

Line 1:  Public   static class connexion_class
Line 2:
Line 3:  Public function select_req(requete_var)






Apparement, je ne peux pas créer de classes static.
Aurais tu une idée?

Merci
Messages postés
540
Date d'inscription
dimanche 29 décembre 2002
Statut
Modérateur
Dernière intervention
13 mai 2011

Déjà c'est la méthode qui doit être statique

Poppyto