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: 16503 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:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

unit Unit1;

interface

implementation

end.

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

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

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:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

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:

Delphi ::: Dicas & Truques ::: Strings e Caracteres

Como extrair uma substring de uma string usando a função AnsiMidStr() do Delphi

Quantidade de visualizações: 30828 vezes
Em algumas situações precisamos obter uma substring de uma string. Em Delphi isso pode ser feito por meio da função AnsiMidStr(). Esta função requer a string a partir da qual a substring será obtida, a posição inicial da substring (começando em 1) e a quantidade de caracteres que comporâo a substring. O retorno será uma nova string contendo a substring obtida. Veja o exemplo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

procedure TForm1.Button1Click(Sender: TObject);
var
  frase, substring: string;
begin
  frase := 'Programar em Delphi é muito bom';

  // vamos obter a substring "Delphi"
  substring := AnsiMidStr(frase, 14, 6);

  // vamos exibir o resultado
  ShowMessage('Resultado: ' + substring);
end;

Não se esqueça de adicionar a unit StrUtils no uses do seu formulário.

Para questões de compatibilidade, esta dica foi escrita usando Delphi 2009.


Delphi ::: Dicas & Truques ::: Arquivos e Diretórios

Como renomear um arquivo em Delphi usando a função RenameFile()

Quantidade de visualizações: 21723 vezes
Em algumas situações nossas aplicações precisam renomear arquivos. Em Delphi isso pode ser feito com o auxílio da função RenameFile(), presente na unit SysUtils. Esta função requer o caminho e nome do arquivo a ser renomeado e o novo nome e caminho. O retorno será true se a operação for realizada com sucesso e false em caso contrário. Veja o exemplo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

procedure TForm1.Button1Click(Sender: TObject);
var
  arquivo_original, novo_arquivo: string;
begin
  // diretorio e nome do arquivo original
  arquivo_original := 'C:\arquivo de codigos\dados.txt';

  // diretorio e nome do novo arquivo
  novo_arquivo := 'C:\arquivo de codigos\dados2.txt';

  // vamos renomear o arquivo
  if RenameFile(arquivo_original, novo_arquivo) then
    ShowMessage('O arquivo foi renomeado com sucesso')
  else
    ShowMessage('Não foi possível renomear o arquivo');
end;

Observe que não é possível renomear um arquivo de forma que seu caminho possua drives diferentes. Para estes casos é recomendável que você copie o arquivo para o drive desejado e exclua o arquivo anterior.

Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009.


Delphi ::: Data Controls (Controles de Dados) ::: TDBGrid

Como navegar (percorrer) pelas células do TDBGrid do Delphi usando a tecla Enter

Quantidade de visualizações: 12151 vezes
Há situações nas quais queremos que os usuários de nossas aplicações Delphi sejam capazes de pressionar a tecla Enter para passar (ou saltar) pelas células dos controles DBGrid. A navegação padrão é com a tecla Tab e/ou as teclas de direção.

Nesta dica eu mostro como isso pode ser feito. Suponha que você tem um componente TDBGrid com o nome "DBGrid1". Vá ao seu evento OnKeyPress e modifique-o para o código abaixo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

procedure TForm3.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
  // o usuário pressionou a tecla Enter?
  if Key = #13 then
    begin
      // ainda não estamos na última coluna
      if DBGrid1.Columns.Grid.SelectedIndex < DBGrid1.Columns.Count - 1 then
        // vamos passar para a próxima célula
        DBGrid1.Columns[DBGrid1.Columns.Grid.SelectedIndex + 1].Field.FocusControl
      else begin
        // vamos passar para o próximo registro da tabela
        DBGrid1.DataSource.DataSet.Next;
        DBGrid1.Columns[0].Field.FocusControl;
      end;
    end;
end;

Execute a aplicação e experimente o efeito. É claro que a navegação com a tecla Enter só funciona em uma direção (tal qual a tecla Tab). Para voltar para as células anteriores você ainda terá que acionar as teclas de direção. Note o uso do método Next da classe TDataSet para forçarmos o foco a ir para a próxima linha do TDBGrid.

Esta dica foi escrita e testada no Delphi 2009.


Desafios, Exercícios e Algoritmos Resolvidos de Delphi

Veja mais Dicas e truques de Delphi

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

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á 43 usuários muito felizes estudando em nosso site.