{"id":19133591,"url":"https://github.com/hashload/dbebr","last_synced_at":"2025-11-12T22:02:27.151Z","repository":{"id":37698465,"uuid":"500912572","full_name":"HashLoad/dbebr","owner":"HashLoad","description":"DBEBr Framework for Delphi/Lazarus (Isaque Pinheiro)","archived":false,"fork":false,"pushed_at":"2024-05-08T13:38:09.000Z","size":12015,"stargazers_count":11,"open_issues_count":0,"forks_count":9,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-10-27T12:34:36.956Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://www.isaquepinheiro.com.br","language":"Pascal","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/HashLoad.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-06-07T16:08:39.000Z","updated_at":"2025-10-01T21:13:55.000Z","dependencies_parsed_at":"2025-07-15T00:29:36.215Z","dependency_job_id":"93cdc02b-6d04-4fd8-a15e-f6e97496d47f","html_url":"https://github.com/HashLoad/dbebr","commit_stats":{"total_commits":42,"total_committers":5,"mean_commits":8.4,"dds":"0.11904761904761907","last_synced_commit":"07d951eca3a5428f80536de24e3f8ee5aebe503f"},"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/HashLoad/dbebr","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HashLoad%2Fdbebr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HashLoad%2Fdbebr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HashLoad%2Fdbebr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HashLoad%2Fdbebr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HashLoad","download_url":"https://codeload.github.com/HashLoad/dbebr/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HashLoad%2Fdbebr/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":284115870,"owners_count":26949957,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-11-12T02:00:06.336Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-09T06:23:00.873Z","updated_at":"2025-11-12T22:02:27.132Z","avatar_url":"https://github.com/HashLoad.png","language":"Pascal","readme":"# DBEBr Framework for Delphi/Lazaruz\n\nDATABASE ENGINE é um framework opensource que provê desacoplamento de conexão através de uma interface orientada a objeto, deixando seu sistema totalmente desacoplado de um único Engine de conexão, proporcionando de forma fácil e simples a troca para usar qualquer Engine disponível no mercado, seja ele FireDAC, DBExpress, Zeos entre outros. Fique livre de engine de conexão, sua aplicação só irá reconhecer o DBEBr.\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.isaquepinheiro.com.br\"\u003e\n    \u003cimg src=\"https://github.com/HashLoad/DBEBr/blob/master/Images/dbebr_framework.png\" width=\"200\" height=\"200\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n## 🏛 Delphi Versions\nEmbarcadero Delphi XE e superior.\n\n## ⚙️ Instalação\nInstalação usando o [`boss install`]\n```sh\nboss install \"https://github.com/HashLoad/dbebr\"\n```\n\n## ⚡️ Como usar\n```Delphi\nconst\n  cSQLSELECT = 'SELECT CLIENT_NAME FROM CLIENT WHERE CLIENT_ID = %s';\n  cSQLUPDATE = 'UPDATE CLIENT SET CLIENT_NAME = %s WHERE CLIENT_ID = %s';\n  cSQLUPDATEPARAM = 'UPDATE CLIENT SET CLIENT_NAME = :CLIENT_NAME WHERE CLIENT_ID = :CLIENT_ID';\n  cDESCRIPTION = 'Description Randon=';\n\n  ...\n  \n  TDriverConnection = class(TObject)\n  strict private\n    FConnection: TFDConnection;\n    FDBConnection: IDBConnection;\n    FDBQuery: IDBQuery;\n    FDBResultSet: IDBResultSet;\n    \n    ...\n    \nprocedure TDriverConnection.Create;\nbegin\n  FConnection := TFDConnection.Create(nil);\n  FConnection.Params.DriverID := 'SQLite';\n  FConnection.Params.Database := '.\\database.db3';\n  FConnection.LoginPrompt := False;\n  FConnection.TxOptions.Isolation := xiReadCommitted;\n  FConnection.TxOptions.AutoCommit := False;\n\n  FDBConnection := TFactoryFireDAC.Create(FConnection, dnSQLite);\nend;\n```\n\n\n```Delphi\nprocedure TDriverConnection.ExecuteDirect;\nvar\n  LValue: String;\n  LRandon: String;\nbegin\n  LRandon := IntToStr( Random(9999) );\n\n  FDBConnection.ExecuteDirect( Format(cSQLUPDATE, [QuotedStr(cDESCRIPTION + LRandon), '1']) );\n\n  FDBQuery := FDBConnection.CreateQuery;\n  FDBQuery.CommandText := Format(cSQLSELECT, ['1']);\n  LValue := FDBQuery.ExecuteQuery.FieldByName('CLIENT_NAME').AsString;\nend;\n```\n\n```Delphi\nprocedure TDriverConnection.ExecuteDirectParams;\nvar\n  LParams: TParams;\n  LRandon: String;\n  LValue: String;\nbegin\n  LRandon := IntToStr( Random(9999) );\n\n  LParams := TParams.Create(nil);\n  try\n    with LParams.Add as TParam do\n    begin\n      Name := 'CLIENT_NAME';\n      DataType := ftString;\n      Value := cDESCRIPTION + LRandon;\n      ParamType := ptInput;\n    end;\n    with LParams.Add as TParam do\n    begin\n      Name := 'CLIENT_ID';\n      DataType := ftInteger;\n      Value := 1;\n      ParamType := ptInput;\n    end;\n    FDBConnection.ExecuteDirect(cSQLUPDATEPARAM, LParams);\n\n    FDBResultSet := FDBConnection.CreateResultSet(Format(cSQLSELECT, ['1']));\n    LValue := FDBResultSet.FieldByName('CLIENT_NAME').AsString;\n  finally\n    LParams.Free;\n  end;\nend;\n```\n\n```Delphi\nprocedure TDriverConnection.Transaction;\nbegin\n  FDBConnection.Connect;\n  try\n    FDBConnection.StartTransaction;\n    try\n      \n      // seu código aqui\n      \n      FDBConnection.Commit;\n    except\n      FDBConnection.Rollback;\n    end;\n  finally\n    FDBConnection.Disconnect;\n  end;  \nend;\n```\n\n```Delphi\nprocedure TDriverConnection.CreateQuery;\nvar\n  LValue: String;\n  LRandon: String;\nbegin\n  LRandon := IntToStr( Random(9999) );\n\n  FDBQuery := FDBConnection.CreateQuery;\n  FDBQuery.CommandText := Format(cSQLUPDATE, [QuotedStr(cDESCRIPTION + LRandon), '1']);\n  FDBQuery.ExecuteDirect;\n\n  FDBQuery.CommandText := Format(cSQLSELECT, ['1']);\n  LValue := FDBQuery.ExecuteQuery.FieldByName('CLIENT_NAME').AsString;\nend;\n```\n\n```Delphi\nprocedure TDriverConnection.CreateResultSet;\nbegin\n  FDBResultSet := FDBConnection.CreateResultSet(Format(cSQLSELECT, ['1']));\n  \n  while FDBResultSet.eof do\n  begin\n     // seu código aqui\n  end;\nend;\n```\n\n## ✍️ License\n[![License](https://img.shields.io/badge/Licence-LGPL--3.0-blue.svg)](https://opensource.org/licenses/LGPL-3.0)\n\n## ⛏️ Contribuição\n\nNossa equipe adoraria receber contribuições para este projeto open source. Se você tiver alguma ideia ou correção de bug, sinta-se à vontade para abrir uma issue ou enviar uma pull request.\n\n[![Issues](https://img.shields.io/badge/Issues-channel-orange)](https://github.com/HashLoad/ormbr/issues)\n\nPara enviar uma pull request, siga estas etapas:\n\n1. Faça um fork do projeto\n2. Crie uma nova branch (`git checkout -b minha-nova-funcionalidade`)\n3. Faça suas alterações e commit (`git commit -am 'Adicionando nova funcionalidade'`)\n4. Faça push da branch (`git push origin minha-nova-funcionalidade`)\n5. Abra uma pull request\n\n## 📬 Contato\n[![Telegram](https://img.shields.io/badge/Telegram-channel-blue)](https://t.me/hashload)\n\n## 💲 Doação\n[![Doação](https://img.shields.io/badge/PagSeguro-contribua-green)](https://pag.ae/bglQrWD)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhashload%2Fdbebr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhashload%2Fdbebr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhashload%2Fdbebr/lists"}