Você está aqui: Delphi ::: dbExpress ::: TSQLConnection

Como criar uma classe de conexão a bancos de dados para suas aplicações Delphi usando dbExpress

Quantidade de visualizações: 16596 vezes
A forma mais comum de se criar uma conexão com um banco de dados usando dbExpress é colocar um componente TSQLConnection em um TDataModule (usado para centralizar os componentes não visuais) e acessá-lo a partir das outras partes que compõem o programa.

Porém, haverá situações em que gostaríamos de ter uma classe que, não somente permita a conexão com o banco de dados, mas também efetue algumas operações adicionais. Nesta dica eu mostro como podemos criar uma classe chamada TConexao que encapsula um objeto da classe TSQLConnection. Para isso, siga atentamente os passos abaixo:

[a]a) Vá em File -> New -> Unit - Delphi. Isso vai gerar uma nova unit parecida com:

unit Unit1;

interface

implementation

end.

b) Salve esta unit com o nome de Conexao.pas e altere o seu código para:

unit Conexao;

interface

uses Classes, Dialogs, SqlExpr, DBXCommon;

type
  TConexao = class
    private
      conn: TSQLConnection; // uma referência a um TSQLConnection

    public
      // construtor da classe
      constructor Create;

      // uma função que retorna a conexão com o banco de dados
      function getConexao: TSQLConnection;
  end;

implementation

constructor TConexao.Create;
begin
  // vamos criar a conexão com o banco de dados
  conn := TSQLConnection.Create(nil);

  // vamos definir os parâmetros da conexão...note que
  // aqui estou usando uma conexão com o MS SQL Server usando
  // Windows Authentication
  begin
    conn.ConnectionName := 'MSSQLConnection';
    conn.DriverName := 'MSSQL';
    conn.LibraryName := 'dbxmss.dll';
    conn.VendorLib := 'oledb';
    conn.GetDriverFunc := 'getSQLDriverMSSQL';
    conn.LoginPrompt := False;

    // parâmetros adicionais da conexão
    conn.Params.Add('SchemaOverride=sa.dbo');
    conn.Params.Add('HostName=NOTEBOOK');
    conn.Params.Add('DataBase=estudos');
    conn.Params.Add('OS Authentication=True');

    // vamos abrir a conexão
    try
      begin
        conn.Open;
      end;
    except
      on e : TDBXError do // uses DBXCommon
         begin
           ShowMessage('Não foi possível efetuar a conexão. Erro: ' +
              e.Message);
           conn := nil;
         end;
    end;
  end;
end;

function TConexao.getConexao;
begin
  // retorna a conexão criada
  Result := conn;
end;

end.

Note que esta classe possui um método construtor que usamos para criar um novo objeto da classe TSQLConnection, informar os parâmetros da conexão e abrí-la usando seu método Open. A conexão obtida é retornada para o chamador usando o método getConexao. Veja agora como podemos, a partir do evento Click de um botão, criar um novo objeto da classe Conexao e verificar se a conexão foi retornada com sucesso:

procedure TForm3.Button1Click(Sender: TObject);
var
  conexao: TConexao; // uma referência à classe Conexao
  conn: TSQLConnection; // uses SqlExpr, DBXMsSQL, DBXCommon
begin
  conexao := TConexao.Create; // vamos criar o objeto Conexao

  // vamos agora obter a conexão
  conn := conexao.getConexao;

  // vamos verificar se a conexão foi efetuada com sucesso
  if conn <> nil then
    ShowMessage('Conexão retornada com sucesso.');
end;

Uma vez obtida a conexão, podemos fornecê-la à propriedade SQLConnection de um TSQLDataSet, por exemplo.

A criação de uma classe de conexão é um dos primeiros passos para posicionar todo o código que interage com o banco de dados no seu devido lugar, ou seja, na camada de banco de dados, e não misturado aos componentes de negócio e interface com o usuário.

Link para compartilhar na Internet ou com seus amigos:

Desafios, Exercícios e Algoritmos Resolvidos de Delphi

Veja mais Dicas e truques de Delphi

Dicas e truques de outras linguagens

E-Books em PDF

E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 28 usuários muito felizes estudando em nosso site.