Bonjour,
j'utilise un objet datareader pour acceder à un champ d'une table et j'aimerais pouvoir récupérer la clé primaire correspondant à la valeur que je lie lorsque je parcour mon champ. Pour l'instant j'incrémente une compteur i mais la lecture est parfois aléatoire et mon i ne correspond plus à la clé primaire du coup :
en gros j'aimerais pouvoir faire ca :
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49 Imports System.Data Imports System.Data.OleDb Friend Class FetchBdd Protected Table As String Protected Champ As String Protected ParamConnexion As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & _ My.Settings.DataSourceBdd '"LaboEMCSS_v2.0.mdb" Public Function getResults(ByVal Table As String, ByVal Champ As String) As String() Dim i As Integer Dim text As String Dim results(30) As String Dim MyConnexion As OleDbConnection = New OleDbConnection(ParamConnexion) Dim Mycommand As OleDbCommand = MyConnexion.CreateCommand() Dim ReqPrepared As String = "SELECT " & Champ & " FROM " & Table Mycommand.CommandText = ReqPrepared MyConnexion.Open() Try Dim myReader As OleDbDataReader = Mycommand.ExecuteReader() i = 0 Try Do While myReader.Read() Try 'C'est ic que je veux recupérer la clé primaire dans la variable i par exemple : results(i) = myReader.GetString(0).ToString Catch ex As Exception 'Donnée vide results(i) = "" End Try i = i + 1 Loop Catch ex As Exception End Try myReader.Close() Catch ex As Exception MsgBox("Requete incorrect") End Try MyConnexion.Close() Return results End Function End Class
y' a t il une solution avec le datareader ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 i = myReader.getRow(0) results(i) = myReader.GetString(0).ToString
Merci d'avance pour votre aide !
Partager