Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Connexion à une base SQL [ Archives ASP & ASP.NET / ASP.net ] (arkele)

lundi 27 juin 2005 à 08:14:49 | Connexion à une base SQL

arkele

J'utilise une base de données SQl Server.
Comme dans mon application j'utilise un grand nombre de reader, j'ai créé une fonction SQL_Reader qui permet de créer un reader à partir d'une requêt SQL placée en paramètre de ma fonction.
Ma fonction est la suivante :

Public Function SQL_Reader(ByVal Req_SQL As String) As SqlDataReader

Dim oConn As New SqlConnection(ConfigurationSettings.AppSettings("SqlServer"))
oConn.Open()
Dim myCommand As SqlCommand = New SqlCommand(Req_SQL, oConn)
Dim monSQL_Reader As SqlDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection)
SQL_Reader = monSQL_Reader

End Function


Je renvoie le reader. Le problème s'est que je ne sais pas comment fermer ma connexion à ma base de données vu que oConn est déclaré dans ma fonction.
Si je ne la ferme pas, il me dit qu'une connexion est déjà ouverte lorsque je veux créer un nouveau reader.
Où dois je fermer ma connexion,

Merci,

lundi 27 juin 2005 à 16:51:54 | Re : Connexion à une base SQL

IvanTheBlackDog

Public Function SQL_Reader(ByVal Req_SQL As String) As SqlDataReader

Dim oConn As New SqlConnection(ConfigurationSettings.AppSettings("SqlServer"))
oConn.Open()
Dim myCommand As SqlCommand = New SqlCommand(Req_SQL, oConn)
Dim monSQL_Reader As SqlDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection)
SQL_Reader = monSQL_Reader

oConn.Close
Set oConn=Nothing

End
Function

je pense que ça devrait aller.
______________________
Le Black Dog c'est moi


mardi 28 juin 2005 à 08:19:12 | Re : Connexion à une base SQL

arkele

c'est pas possible que je le ferme dans ma fonction car je ne pourrai plus utiliser le reader par la suite. si je mets oConn.close dans cette fonction, il va m'ouvrir ma connexion, créer le reader et me fermer ma connexion ce qui va m'empêcher de pouvoir utiliser mon reader. J'ai essayé et le message d'erreur était : "tentative non valide de lecture...".

une autre idée peut être?

jeudi 30 juin 2005 à 19:54:27 | Re : Connexion à une base SQL

Nurgle

Membre Club Administrateur CodeS-SourceS
Salut,
Dans ce cas là tu dois créer une classe :

Public Class SQL_Reader
Private oConn As New SqlConnection(ConfigurationSettings.AppSettings("SqlServer"))

Public Sub New()
oConn.Open
End Sub

Public Sub Finalize()
oConn.Close
oConn = Nothing
End Sub

Public Function Read(ByVal Req_SQL As String) As SqlDataReader

Dim oConn As New SqlConnection(ConfigurationSettings.AppSettings("SqlServer"))
oConn.Open()
Dim myCommand As SqlCommand = New SqlCommand(Req_SQL, oConn)
Dim monSQL_Reader As SqlDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection)
Read = monSQL_Reader

End Function
End Class

Et tu l'utilise comme ça :

Dim machin As SQL_Reader 'tu déclenche l'énènement New()
Dim truc As DataReader = machin.Read
' là tu mets tout le traitement qui a besoin que la connexion soit ouverte
machin = Nothing ' tu déclenche l'évènement Finalize() et ça ferme la connexion



Nurgle

C'est une grande folie que de vouloir être sage tout seul !



Cette discussion est classé dans : fonction, base, sql, connexion, reader


Répondre à ce message

Sujets en rapport avec ce message

Reader et connexion à la base déjà ouverte [ par arkele ] J'utilise une base de données SQl Server.Comme dans mon application j'utilise un grand nombre de reader, j'ai créé une fonction SQL_Reader qui permet Connexion a une base sql server [ par nono75019 ] Je voudrais savoir quelle est la chaine de connexion a entrer pour accéder a une base sql.J'ai déja réussi une connexion a une base access mais pas a Problème de connexion avec SQL serveur de Micrsoft [ par ronaldo1 ] Voila j'essai de créé une connexion avec SQL serveur avec une petite requête de test mais cele ne foncionne pas.Voici le fichier ASP:%><!--#Include fi Connexion SQL Server [ par nounours21_6 ] Bonjour,je créé une base sur SQL Server Express 2005 sur un server, et j'arrivais à me connecter à la baseet par précausion, j'ai restauré la base en connexion a une base de donnée sql via c# application web [ par New_World ] salut svp est ce qqu il ya quelqu'un qui peux m'aider a etablir un connexion avec sql server via c# application web et merciiiiiiiiiiiiiiiii un seul b connexio sql 2000 [ par kikodos23 ] Slt tous le mondemon probleme est le suivant : g créer une base de donneé sql (2000) mes quand je veut etablire une connexion a cette base (avec VS200 connexion a une BD SQL [ par sebag ] Bonjourj'ai une base SQL Server nommée wfct a laquelle je souhaite me connecter. j'ai un DSN qui correspond a cette base appelé "webfct". Voici ma con connexion a sql server 2000 [ par 7amdaoui ] slt tt le mondej'ai une application développée en ASP et puis lorsque je vais connecté à ma base des données SQL server 2000 un message sur la page we WebParts et connexion aux serveur SQL [ par aKheNathOn ] Bonjour,J'ai une webpart qui doit effectuer une connexion à la base de données pour y rechercher des informations. La base de données peut être sur un probléme data reader [ par kidrissi ] salut les amis j'avais un probléme au niveau connexion base de données sql server 2005lorsque je veux ouvrir une connexion  avec deux data reader  il


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,671 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.