BasicZx81
Messages postés140Date d'inscriptionsamedi 5 mars 2011StatutMembreDernière intervention13 août 2013
-
9 avril 2012 à 11:40
BasicZx81
Messages postés140Date d'inscriptionsamedi 5 mars 2011StatutMembreDernière intervention13 août 2013
-
15 avril 2012 à 19:59
Bonjour à tous,
Aujourd'hui dans mon code j'utilise des structures pour accéder facilement aux nom de tables et de colonnes d'une BDD. Par exemple : Tables.Table1 ou Colonnes.Colonne1 pour obtenir les valeurs string ("Table1" et "Colonne1"), c'est pratique puisque je peux accéder aux nom de tables et de colonnes directement dans l'intellisense de l'IDE et evite beaucoup de risque d'erreur.
Voici la structure (c'est la même chose pour les colonnes) :
Public Structure Tables
Const Table1 As String = "Table1"
Const Table2 As String = "Table2"
Const Table3 As String = "Table3"
End Structure
Problème, je ne peux pas utiliser ce principe pour stocker les type de champs et leurs tailles c'est pourquoi je souhaite créer des classes mais je n'ai aucun début de solution actuellement, si vous avez une piste de réflexion ça m'aiderais beaucoup. J'ai commençais avec une classe mais je résultat n'est pas convaincant dans la mesure ou je ne sais acceder à un élément qu'a partir de son index et nom à partir de son nom. Et en bonus si l'intellisense pouvais me proposer la liste des tables et colonnes ça serait vraiment un plus.
Pour l'instant voici les classes que j'ai commençais à écrire mais qui ne me satisfont pas :
Public Class Colonne
Private _dbName As String
Private _dbType As ADOX.DataTypeEnum
Private _dbSize As Integer
Public Sub New()
End Sub
'Public Sub New(ByVal DBname As String, ByVal DBType As ADOX.DataTypeEnum, ByVal DBSize As Integer)
'Me._dbName = DBname
'Me._dbType = DBType
'Me._dbSize = DBSize
'End Sub
Public Property DBname() As String
Get
Return _dbName
End Get
Set(ByVal value As String)
_dbName = value
End Set
End Property
Public Property DBType() As ADOX.DataTypeEnum
Get
Return _dbType
End Get
Set(ByVal value As ADOX.DataTypeEnum)
_dbType = value
End Set
End Property
Public Property DBSize() As Integer
Get
Return _dbSize
End Get
Set(ByVal value As Integer)
_dbSize = value
End Set
End Property
End Class
Public Class ListColonnes
Inherits List(Of Colonne)
'Inherits SortedList(Of String, Colonne)
End Class
NHenry
Messages postés15102Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention27 mars 2024159 14 avril 2012 à 14:01
Bonjour,
Afin de permettre à d'autres de trouver leur réponse, quelle solution as-tu utilisée ?
---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualVasic (onglet Références dans les propriétés du projet).
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list ---
Mon site
NHenry
Messages postés15102Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention27 mars 2024159 14 avril 2012 à 17:49
Bonjour,
Conseil,
Quand tu fais :
Public Colonnes As New SortedList(Of String, DBColonne)
Colonnes est publique, c'est déconseillé.
Tu peux utiliser une propriété paramétrée :
Public Readonly Property UneColonne(Byval pColonneName as String)
Get
Return Colonnes(pColonneName)
End Get
End Property
---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualVasic (onglet Références dans les propriétés du projet).
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list ---
Mon site