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