Você está aqui: Delphi ::: dbExpress ::: TSQLConnection |
Como criar uma classe de conexão a bancos de dados para suas aplicações Delphi usando dbExpressQuantidade 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. |
![]() |
Desafios, Exercícios e Algoritmos Resolvidos de Delphi |
Veja mais Dicas e truques de Delphi |
Dicas e truques de outras linguagens |
C# - Como converter um tipo string para um tipo decimal em C# usando o método Parse() da classe Decimal |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |