DataReader et clé primaire
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 :
Code:
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 |
en gros j'aimerais pouvoir faire ca :
Code:
1 2 3
|
i = myReader.getRow(0)
results(i) = myReader.GetString(0).ToString |
y' a t il une solution avec le datareader ?
Merci d'avance pour votre aide !