Comment integer dans un module la connection, le datareader

amsdiop Messages postés 29 Date d'inscription jeudi 5 mai 2005 Statut Membre Dernière intervention 2 octobre 2013 - 21 sept. 2008 à 20:41
cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 - 21 sept. 2008 à 22:25
il se trouve qu'avec vb8, il faut pour chaque form, initialisser la connection avec le chemin. comment, pour eviter les reecritures de code integrer le tout dans un module:
connection, lecture d'un datareader, manipulation de la base de donnée. C'est une vraie galére vb8. Voulez vous me faire un exemple de module ou de classe ou la connexion à la base de donnée ou la manipulation des données peuvent ne pas etre réécrites. Merci d'avance. Je souffre.

2 réponses

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
21 sept. 2008 à 22:25
salut,

Il suffit de faire une classe en singleton ou une classe static
mais le singleton semble le plus adapté
et de mettre en constante static ta chaine de connexion
0
cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
21 sept. 2008 à 22:25
Bonsoir,
Je ne vois se qui te pose des soucis je ne comprend pas vraiment mais voici une classe qui te permet d'obtenir ton instance, d'ouvrir et de fermer la connexion (ex pour Oracle).

Imports

System.Data.OracleClient
Public

Class Connection

Const DB_CONNECTION_STRING
As
String =
"taChaineDeConnexion"

Private
Shared m_OracleCnt
As
New OracleConnection

Public
Shared
ReadOnly
Property GetInstance()

Get

Return m_OracleCnt

End
Get

End
Property

Public
Shared
Sub Open()

If m_OracleCnt.State <> ConnectionState.Closed
Thenm_OracleCnt.Close()

End
Ifm_OracleCnt.ConnectionString = DB_CONNECTION_STRING

m_OracleCnt.Open()

End
Sub

Public
Shared
Sub Close()m_OracleCnt.Close()

End
SubEnd

Class

-------------------------------
Après voici un exemple dans tes formulaires windows ou autres pour l'utiliser.

Connection.Open()

Using
OracleCmd
As
New OracleCommand()OracleCmd.Connection = Connection.GetInstance

OracleCmd.CommandText =

"SELECT...."

Dim OracleRdr
As OracleDataReader = OracleCmd.ExecuteReader

While (OracleRdr.Read)Debug.Write(OracleRdr.GetOracleString(0).Value)

Debug.write(OracleRdr.GetOracleString(1).Value)

End
While

End
Using

Connection.Close()
0
Rejoignez-nous