Bonjour à tous et à toutes,
Tout est à peu près dit dans le Titre, je voudrais savoir si une requête SQL me retourne un objet ou si elle est vide, j'ai trouvé une astuce avec un boolean mais je voudrai savoir si il est possible de faire quelque chose de plus propre ? Je vous met dans un premier temps mon code sans l'astuce du boolean, puis avec l'astuce.
Merci par avance du temps pris à me lire et/ou à me répondre.
Code sans le boolean :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 Dim ctn As New System.Data.OleDb.OleDbConnection("Provider = Microsoft.Ace.OLEDB.12.0; Data Source = reclamation.accdb") Private Sub BT_1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BT_AJOUT.Click If TXT_REF.Text = "" Then MsgBox("Veuillez entrer une valeur", MsgBoxStyle.OkOnly, "Erreur") Else Dim cmd As IDbCommand Dim lecteur As IDataReader ctn.Open() cmd = ctn.CreateCommand cmd.CommandText = "select * from Client where RefClient =" + TXT_REF.Text lecteur = cmd.ExecuteReader 'Si la référence client existe on lit le résultat de la requete et on affiche Do While lecteur.Read LBL.Text = "la référence client est " & lecteur.GetInt32(0) & " son nom est " & lecteur.GetString(1) Loop 'Sinon 'msgbox du type le client n'existe pas dans la BDD voulez vous créer une nouvelle fiche client ? End If ctn.Close()
Code avec le Boolean :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 Dim ctn As New System.Data.OleDb.OleDbConnection("Provider = Microsoft.Ace.OLEDB.12.0; Data Source = reclamation.accdb") Private Sub BT_1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BT_AJOUT.Click Dim exist As Boolean = False If TXT_REF.Text = "" Then MsgBox("Veuillez entrer une valeur", MsgBoxStyle.OkOnly, "Erreur") Else Dim cmd As IDbCommand Dim lecteur As IDataReader ctn.Open() cmd = ctn.CreateCommand cmd.CommandText = "select * from Client where RefClient =" + TXT_REF.Text lecteur = cmd.ExecuteReader 'Si la référence client existe on lit le résultat de la requete et on affiche Do While lecteur.Read LBL.Text = "la référence client est " & lecteur.GetInt32(0) & " son nom est " & lecteur.GetString(1) exist = True Loop 'Sinon If exist = False Then MsgBox("Ce client n'existe pas. Voulez vous ajouter ce client à la base de donnée", MsgBoxStyle.YesNoCancel, "Ajouter") End If End If ctn.Close()
Partager