joe10155
Messages postés7Date d'inscriptionmercredi 29 décembre 2004StatutMembreDernière intervention22 juillet 2006
-
20 juil. 2006 à 09:50
cs_poppyto
Messages postés540Date d'inscriptiondimanche 29 décembre 2002StatutModérateurDernière intervention13 mai 2011
-
22 juil. 2006 à 15:52
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.
cs_poppyto
Messages postés540Date d'inscriptiondimanche 29 décembre 2002StatutModérateurDernière intervention13 mai 2011 21 juil. 2006 à 10:44
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.
joe10155
Messages postés7Date d'inscriptionmercredi 29 décembre 2004StatutMembreDernière intervention22 juillet 2006 22 juil. 2006 à 14:43
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?