Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Hellblazer

Obter dados da base de dados Access, Oracle ou SQLServer [transferido para wiki]

Recommended Posts

Hellblazer

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.

Share this post


Link to post
Share on other sites
n3lThon

Bom tutorial.

Existe o quadro de Tutoriais, este é geral para todas as linguagens.


dreams.each do |dream|

   dream.make_it_happen

end

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.