Ho la seguente classe:


Imports System.Data.OleDb
Public Class ClsDati
Public Enum ReturnType

DataSetType
DataReaderType

End Enum
Private m_StrConn As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=C:\Dati\dbDati.mdb;"
Public Function ExecuteQuery(ByVal Tipo As ReturnType, ByVal StringaSQL As String) As Object

Dim vConn As New OleDbConnection(m_StrConn)
Dim vComm As New OleDbCommand()
Try

vConn.Open()

With vComm

.CommandText = StringaSQL
.Connection = vConn

End With
Select Case Tipo

Case ReturnType.DataReaderType

Dim dr As OleDbDataReader = vComm.ExecuteReader
Return dr

Case ReturnType.DataSetType

Dim adpt As New OleDbDataAdapter()
Dim ds As New DataSet()
adpt.SelectCommand = vComm
adpt.Fill(ds)
Return ds
adpt = Nothing
adpt.Dispose()

End Select

Catch ex As Exception

MessageBox.Show(ex.ToString, "Errore di accesso ai dati")

Finally

vComm.Dispose()
vConn.Close()
vConn.Dispose()

End Try

End Function

Public Sub ExecuteNonQuery(ByVal StringaSQL As String)

Dim vConn As New OleDbConnection(m_StrConn)
Dim vComm As New OleDbCommand()

Try

vConn.Open()

With vComm

.CommandText = StringaSQL
.Connection = vConn
.ExecuteNonQuery()

End With
Catch ex As Exception

MessageBox.Show(ex.ToString, "Errore di accesso ai dati")

Finally

vComm.Dispose()
vConn.Close()
vConn.Dispose()

End Try

End Sub

Public Function ExecuteScalar(ByVal StringaSQL As String) As Object

Dim vConn As New OleDbConnection(m_StrConn)
Dim vComm As New OleDbCommand()

Try

vConn.Open()
With vComm

.CommandText = StringaSQL
.Connection = vConn
ExecuteScalar = .ExecuteScalar

End With
Catch ex As Exception

MessageBox.Show(ex.ToString, "Errore di accesso ai dati")

Finally

vComm.Dispose()
vConn.Close()
vConn.Dispose()

End Try

End Function
End Class

Le funzioni ExecuteQuery ed ExecuteScalar danno un errore in fase di compilazione:
"non resituiscono nessun valore in tutte le parti del codice"

come posso correggere l'errore?

tulipan