Bonjour,
Je travail avec ASP.NET / VB.NET et une base de données Access.
Je travail sur un compteur de visite par page.
Mon code avant :
Jusque là tout fonctionne parfaitement ! (Pour les test la page existe déjà dans la base de données, donc label_nbr_v à pour valeur "OK")
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 'On récupère dans la variable AdressePage lURL de la page en cours' Dim AdressePage As String = Request.Url.AbsoluteUri 'Ouverture de la connexion' access_connexion() 'Instancier un objet Command' Obj_Command = New OleDbCommand() 'Initialiser lobjet Command' Obj_Command.Connection() = laConnection Obj_Command.CommandText = "SELECT ID FROM VISITE WHERE ID=@adresse" 'Initialiser le parametre @adresse de la requête' Obj_Command.Parameters.Add("@adresse", OleDbType.VarChar, 100).Value = AdressePage Obj_Reader = Obj_Command.ExecuteReader() If Obj_Reader.Read() Then label_nbr_v.Text = "OK" Else label_nbr_v.Text = "NON OK" End If
Mais si j'utilise dans le if une requête UPDATE, l'erreur : "L'opération doit utiliser une requête qui peut être mise à jour" s'affiche
Mon code après :
Auriez-vous une solution à me proposer ?
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 'On récupère dans la variable AdressePage lURL de la page en cours' Dim AdressePage As String = Request.Url.AbsoluteUri 'Ouverture de la connexion' access_connexion() 'Instancier un objet Command' Obj_Command = New OleDbCommand() 'Initialiser lobjet Command' Obj_Command.Connection() = laConnection Obj_Command.CommandText = "SELECT ID FROM VISITE WHERE ID=@adresse" 'Initialiser le parametre @adresse de la requête' Obj_Command.Parameters.Add("@adresse", OleDbType.VarChar, 100).Value = AdressePage Obj_Reader = Obj_Command.ExecuteReader() If Obj_Reader.Read() Then label_nbr_v.Text = "OK" Obj_Reader.Close() 'Si on la trouve on rajoute + 1' Obj_Command.CommandText = "UPDATE VISITE SET NBR_V = NBR_V + 1 WHERE ID=@adresse" Obj_Command.ExecuteNonQuery() Else label_nbr_v.Text = "NON OK" End If![]()
Partager