1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
|
Imports System.Data.SqlClient
Public Class AccessData
'Connexion à la base de données
Private m_Connexion As SqlConnection
'Commande à éxécuter sur la connexion m_Connexion
Private m_Commande As SqlCommand
''' <summary>
''' Constructeur de la classe d'accès aux données
''' </summary>
Sub New()
'Utilisation de la chaine de connexion du fichier de configuration de l'application
m_Connexion = New SqlConnection(My.Settings.dbImmoDataConnectionString)
'Creation de la commande de type requete SQL dynamique
m_Commande = m_Connexion.CreateCommand()
m_Commande.CommandType = CommandType.Text
'Variable utilisée pour réessayer la tentative de connexion
Dim ResultatDuMessageBox As DialogResult = DialogResult.No
Do
Try
m_Connexion.Open()
MessageBox.Show(m_Connexion.State.ToString)
Catch ex As Exception
My.Application.Log.WriteException(ex)
'Possibilité de réessayer
ResultatDuMessageBox = MessageBox.Show("Erreur de connexion à la base de données, voulez-vous réessayer ?", "Ma Cave A Vin", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If ResultatDuMessageBox <> DialogResult.Yes Then Throw New Exception("Utilisateur ne souhaite pas réessayer")
End Try
Loop Until (m_Connexion.State = ConnectionState.Open)
'Jusqu'a ce que la connexion soit ouverte
'Si l'utilisateur décide d'arreter une exception à été levée
End Sub
Public Sub Dispose()
m_Commande.Dispose()
m_Connexion.Close()
m_Commande = Nothing
m_Connexion = Nothing
End Sub
#Region "Gestion des Batiments"
Public Function ajouterBatiment(ByVal clsBatiment As clsBatiments) As Boolean
Dim sql As String
clsBatiment.BatId = Guid.NewGuid.ToString
sql = "insert into Batiments (BatId, BatAdresse, BatCP, BatVille, " _
& "BatDescription, BatStatus, BatPrix) Values ("
sql &= "'" & clsBatiment.BatId & "',"
sql &= "'" & clsBatiment.BatAdresse & "',"
sql &= "'" & clsBatiment.BatCP & "',"
sql &= "'" & clsBatiment.BatVille & "',"
sql &= "'" & clsBatiment.BatDescription & "',"
sql &= clsBatiment.BatStatus & ","
sql &= clsBatiment.BatPrix & ")"
ajouterBatiment = ACTIONExecuterRequeteSansRetour(sql)
m_Commande.CommandText = "select count(*) as c from Batiments"
Dim ds As DataSet = New DataSet
Dim da As SqlDataAdapter = New SqlDataAdapter(m_Commande)
'Remplit le DataSet
da.Fill(ds)
'Renvoit la première ligne trouvé
MessageBox.Show(ds.Tables(0).Rows(0)("c").ToString)
End Function
#End Region
Private Function ACTIONExecuterRequeteSansRetour(ByVal chaineSql As String) As Boolean
m_Commande.CommandText = chaineSql
'Try
m_Commande.ExecuteNonQuery()
'Catch ex As Exception
'ACTIONExecuterRequeteSansRetour = False
'End Try
'ACTIONExecuterRequeteSansRetour = True
End Function
End Class |
Partager