Hellblazer Posted March 6, 2009 at 01:49 PM Report Share #248655 Posted March 6, 2009 at 01:49 PM Visto esta secção não ter um sub-quadro de how to's vou postar aqui se alguem quizer depois pode mover 🙂 Imports System.Data.OleDb Imports System.Data.OracleClient Imports System.Data.SqlClient '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '''' Atenção Muito Importante: Importar Referencia "System.Data.OracleClient" '''' '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Public Class Class1 Enum DataBaseType Access SQLServer Oracle End Enum ''' <summary> ''' Função GetDataFromSQL. ''' Retorna os valores obtidos na Query de entre varios tipos de Bases de Dados. ''' </summary> ''' <param name="strSQL">A Query a ser efectuada.</param> ''' <param name="strConnectionString">A ConnectionString para a base de dados.</param> ''' <param name="MyDataBaseType">O tipo de base de dados.</param> ''' <returns>Retorna um DataTable com a informação.</returns> ''' <remarks></remarks> Private Function GetDataFromSQL(ByVal strSQL As String, ByVal strConnectionString As String, ByVal MyDataBaseType As DataBaseType) As DataTable Dim myDataTable As New DataTable() Try Select Case MyDataBaseType ' Conforme a base de dados Case DataBaseType.Access 'Se Access Dim myConnectionAcess As New OleDbConnection(strConnectionString) Dim myCommandAcess As New OleDbCommand(strSQL, myConnectionAcess) Dim myDataAdapterAcess As New OleDbDataAdapter(myCommandAcess) 'Inicia a conecção myConnectionAcess.Open() 'Se está conectado há base de dados If myConnectionAcess.State = ConnectionState.Open Then 'Preenche o DataTable myDataAdapterAcess.Fill(myDataTable) 'Fecha a ligação myConnectionAcess.Close() Else 'Se não está conectado 'Envia alerta ao utilizador MessageBox.Show("Não foi possivel estabelecer uma ligação a base de dados", "Erro") End If Case DataBaseType.Oracle 'Se Oracle Dim myConnectionOracle As New OracleConnection(strConnectionString) Dim myCommandOracle As New OracleCommand(strSQL, myConnectionOracle) Dim myDataAdapterOracle As New OracleDataAdapter(myCommandOracle) 'Inicia a conecção myConnectionOracle.Open() 'Se está conectado há base de dados If myConnectionOracle.State = ConnectionState.Open Then 'Preenche o DataTable myDataAdapterOracle.Fill(myDataTable) 'Fecha a ligação myConnectionOracle.Close() Else 'Se não está conectado 'Envia alerta ao utilizador MessageBox.Show("Não foi possivel estabelecer uma ligação a base de dados", "Erro") End If Case DataBaseType.SQLServer 'Se SQLServer Dim myConnectionSQL As New SqlConnection(strConnectionString) Dim myCommandSQL As New SqlCommand(strSQL, myConnectionSQL) Dim myDataAdapterSQL As New SqlDataAdapter(myCommandSQL) 'Inicia a conecção myConnectionSQL.Open() 'Se está conectado há base de dados If myConnectionSQL.State = ConnectionState.Open Then 'Preenche o DataTable myDataAdapterSQL.Fill(myDataTable) 'Fecha a ligação myConnectionSQL.Close() Else 'Se não está conectado 'Envia alerta ao utilizador MessageBox.Show("Não foi possivel estabelecer uma ligação a base de dados", "Erro") End If End Select If myDataTable.Rows.Count > 0 Then 'Se existem resultados Return myDataTable 'Retorna os dados. Else 'Se não Return New DataTable 'Retorna um DataTable vazio. End If Catch e As Exception Return New DataTable End Try End Function End Class There are two ways to write error-free programs; only the third one works. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now