Olá galera, nesta Quick Tips, irei mostra como podemos criar uma procedure e nela fazer chamadas ao nosso banco de dados sem usar componente visual, como por exemplo, ADOQury, Query, SQLQuery, entre outros, vejamos como fazer isso.

Vamos então criar uma nova aplicação e salvar seu formulário como uFrmPrincipal.pas, já mude seu nome para FrmPrincipal, e salve o projeto como prjAcessoBD.dprj.

Vamos adicione neste formulário :

1 - SQLConexao: TSQLConnection; - Conectado ao MySQL ou outro banco

1 - BtnVisualizar: TButton;

1 - EdtData: TEdit;

1 - ChckBxData: TCheckBox;

Veja como deverá ficar nosso exemplo

delphi

Vamos inicialmente criar uma function:

  • function GetSysDate (xOnlyDate: Boolean = False): String;



unit uFrmPrincipal;

interface

uses

   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, 
   Forms,Dialogs, WideStrings, DBXMySql, DB, SqlExpr, StdCtrls;

type
   TFrmPrincipal = class(TForm)
   SQLConexao: TSQLConnection;
   BtnVisualizar: TButton;
   EdtData: TEdit;
   ChckBxData: TCheckBox;
private
   function GetSysDate(xOnlyDate: Boolean = False): String;
   { Private declarations }
public
   { Public declarations }
end;

Vamos agora a implementação da mesma


function TFrmPrincipal.GetSysDate(xOnlyDate: Boolean = False) : String;
Var
   xQry : TSQLQuery;
begin
   Try
     { Instanciamos o Objeto xQry através do método create da sua 
       Classe TSQLQuery. }    
      xQry := TSQLQuery.Create(Self);
      With xQry do
      Begin
        { Em seguida configuramos o mesmo como se fosse usando a IDE, 
         passamos  a conexão, informamos o Script e depois usamos o 
         método Open, para abrir mesmo}
         SQLConnection := SQLConexao;
         SQL.Clear;
         SQL.Add('select SYSDATE()');
         Open;
         if xOnlyDate then
            Result := FormatDateTime('dd/mm/yyyy', Fields[0].AsDateTime)
         else
            Result := Fields[0].AsString
      end;
   Finally
      FreeAndNil(xQry);
   End;

end;

Vamos agora usar a função através do clique do BtnVisualizar.


procedure TFrmPrincipal.BtnVisualizarClick(Sender: TObject);
begin
    { Como vocês podem notar estou usando a propriedade Checked para 
      visualizar apenas a data ou não. }
    EdtData.Text := GetSysDate(ChckBxData.Checked);
end;

Fico por aqui ate à próxima Quick Tips. Baixe o exemplo completo neste post.

Um abraço

Wesley Y