TSQLConnection.Params como ConnectionString

 

Pra quem está acostumado a trabalhar com as tecnologias de banco de dados da Microsoft como ADO, sabe que as configurações de conexão de banco de dados são passadas em uma propriedade chamada ConnectionString, uma linha única contendo todos os parâmetros da conexão separados por ponto e vírgula, diferente da propriedade Params do TSQLConnection, que é uma TStringList.
Ontem eu estava reescrevendo umas classes auxiliares para o TSQLConnection, que agora são especialização de uma classe que salva e carrega as configurações da aplicação em um único arquivo XML, onde cada Objeto é um nó do XML, e cada TSQLConnection tem seu nó XML reservado, mas salvar como TStrings, ficava muito estranho no XML, então fiz umas alterações na minha classe para simular a propriedade ConnectionString.

A primeira alteração foi no método SetSQLConnection, onde eu defino 2 propriedades do Params, “StrictDelimiter = True” e “Delimiter:= ‘;’”.

procedure TDBHelper.SetSQLConnection(SQLConnection: TSQLConnection);
begin
  FSQLConnection:= SQLConnection;
  if (FSQLConnection = nil) then
    Exit;
  CloseConnection;
  FSQLConnection.Params.StrictDelimiter:= True;
  FSQLConnection.Params.Delimiter:= ';';
  // <snip>
end;

Em seguida implementei os métodos GetConnectionString e SetConnectionString, interagindo com a propriedade DelimitedText do TStringList.

function TDBHelper.GetConnectionString: string;
begin
 Result:= FSQLConnection.Params.DelimitedText;
end;

procedure TDBHelper.SetConnectionString(const Value: string);
begin
  FSQLConnection.Params.DelimitedText:= Value;
end;

A propriedade ConnectionString salva em XML ficou assim:

<property name="ConnectionString">
  drivername=FIREBIRD;blobsize=-1;commitretain=False;
  database=D:\DB\HTMCDATA.FDB;localecode=0000;
  Password=masterkey;rolename=RoleName;sqldialect=3;
  isolationlevel=ReadCommitted;user_name=sysdba;waitonlocks=False;
  trim char=True;HostName=localhost;ServerCharSet=WIN1252
</property>

Meu próximo passo neste projeto é adicionar ao sistema, um editor de XML visual que comecei a escrever, ainda não está pronto, mas já me ajuda em algumas tarefas básicas.


XmlViewer


XmlViewer

 
 
 

2 Comments

 
  1. Junior disse:

    Ola, gostaria que você postase como faz para conectar com aplicação no delphi…. como conectar… um exemplo?? de um programa … se der um para download … a gente agradece !

    Valeu pelo post de auto nivel!

    Abraços

  2. Cesar disse:

    @Junior, você pode ser mais específico no tipo de exemplo que gostaria?

 

Leave a Comment

 




XHTML: You can use these tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>