Bonjour,
Actuellement en stage, je suis en train de développer une application 3tiers en VB.Net 2005/Oracle 10g
Voici ma fonction :
Public Function GetContratDate(ByVal Année As String) As IList(Of IContrat)
Dim oConnection As New OracleFactory
Dim LesContrats As IList(Of IClass_Contrat) = New List(Of IContrat)
Dim LeContrat As IContrat
oConnection.Open()
Dim cmd As New OracleCommand("SELECT NumContrat, NumLiasse, IdClient, MatriculeResponsable, DateDebut " + _
"FROM RecupContrat WHERE DateCreation BETWEEN '01/01/" + Année + _
"' AND '31/12/" + Année + "'", oConnection.GetConnection)
Dim reader As OracleDataReader = cmd.ExecuteReader()
Try
While (reader.Read())
LeContrat = _factory.CreateContrat()
LeContrat.NumContrat = CType(reader("NumContrat"), Integer)
LeContrat.NumLiasse = CType(reader("NumLiasse"), Integer)
LeContrat.IdClient = CType(reader("IdClient"), Integer)
LeContrat.MatriculeResponsable = CType(reader("MatriculeResponsable"), Integer)
LeContrat.DateDebut = CType(reader("DateDebut"), Date)
LesContrats.Add(LeContrat)
End While
Catch ex As OracleException
MsgBox("Echec du listage des données : " + Chr(13) + ex.Message)
Finally
If Not reader Is Nothing Then reader.Close()
End Try
oConnection.Close()
Return LesContrats
End Function
Mon prolème :
Lorsque je tape cette requête dans SQL Tools pour année = 2008 il m'affiche 4 résultats, alors que lorsque je l'execute sous VB le "reader.read()" ne renvoi rien, je n'entre pas dans le while et il me renvoi directement au "Finally" de mon "try/catch".
Merci d'avance