Per prima cosa ti consiglio di usare i tags CODE /CODE (li ottieni con il bottone # quando scivi il post).
Poi attento alle Imports. Il DataSet richiede la System.Data
Fai attenzione ai valori di ritorno. il messaggio di errore indica che nella funzione non hai un valore di ritorno per alcuna/nessuna delle uscite previste nel codice.
Senza entrare nel merito di cosa fai con il codice questa 'stesura' almeno 'compila' :
codice:
Imports System.Data
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()
Din retObj as Object = Nothing
Try
vConn.Open()
With vComm
.CommandText = StringaSQL
.Connection = vConn
End With
Select Case Tipo
Case ReturnType.DataReaderType
Dim dr As OleDbDataReader = vComm.ExecuteReader
retObj = dr
Case ReturnType.DataSetType
Dim adpt As New OleDbDataAdapter()
Dim ds As New DataSet()
adpt.SelectCommand = vComm
adpt.Fill(ds)
adpt = Nothing
adpt.Dispose()
retObj = ds
End Select
Catch ex As Exception
MessageBox.Show(ex.ToString, "Errore di accesso ai dati")
Finally
vComm.Dispose()
vConn.Close()
vConn.Dispose()
End Try
Return retObj
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()
Dim retObj as object = Nothing
Try
vConn.Open()
With vComm
.CommandText = StringaSQL
.Connection = vConn
retObj = .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
Return retObj
End Function
End Class