Driver DBExpress 4 para Firebird no Delphi 2007 e 2009

26, Fevereiro 2009

A IBExpert, desenvolvedora da ferramenta de mesmo nome para administração de banco de dados firebird, agora (não sei desde quando) tem um driver DBExpress 4 para Firebird no Delphi 2007 e 2009. O driver é proprietário mas possui uma versão personal, assim como a ferramenta IBExpert, porém, não pode ser distribuído. Para isto, o desenvolvedor deve comprar uma licença.

Não testei, mas se tiver a mesma qualidade da ferramenta IBExpert, o driver deve ser excelente. Uma das coisas boas é que ele tem suporte total a Unicode.

Mais informações em http://ibexpert.net/ibe/index.php?n=Main.IBExpertDBX4Firebird


Pegando o último valor de auto incremento inserido no mysql

2, Julho 2008

Bem, vamos ao post rápido de hoje.

No MySQL e em muitos bancos existe um recurso de auto incremento que é usado para campos chave primária das tabelas, impedindo que existam dois registros com o mesmo código.

No MySQL o usuário não tem como saber previamente, de uma maneira segura, qual o próximo valor que será gerado para o campo auto incremento de uma tabela. Apenas após inserir um registro na tabela é que podemos saber. Na linguagem PHP, por exemplo, existe a função mysql_insert_id que retorna o valor gerado para o campo auto incremento no último comando insert executado. Isto é útil quando precisamos incluir registros em outra tabela que serão relacionados com o registro que foi inserido, como por exemplo, quando temos uma tabela venda e outra item_venda. A tabela venda normalmente terá um campo cod_venda auto incremento. E ao registrar uma venda, precisamos incluir pelo menos um item de venda, que estará relacionado com a venda que foi inserida. Para fazer esse relacionamento, a tabela item_venda normalmente terá um campo cod_venda para fazer essa associação, assim, o cod_venda da tabela item_venda deve ter o valor do campo auto incremento cod_venda da tabela venda. Assim, para isso que usamos, em PHP, a função mysql_insert_id.

Porém, em outras linguagem como o Delphi, não existe uma função semelhante a mysql_insert_id do PHP, logo, como fazer para retornar o valor auto incremento gerado pelo último insert? Simples, use a instrução sql select LAST_INSERT_ID(); . Independente da linguagem de programação que você usa, isto vai funcionar. Você pode até criar uma função de nome mysql_insert_id na linguagem de programação que desejar, para executar a sql mostrada acima e assim, apenas chamar a função quando desejar. Veja exemplo em Delphi utilizando os componentes DBExpress:

function mysql_insert_id(SQLConnection: TSQLConnection): Integer;
var SqlDataSet: TSqlDataSet;
begin
result:= 0;
SqlDataSet:= TSqlDataSet.Create(nil);
try
SqlDataSet.SQLConnection:= SQLConnection;
SqlDataSet.CommandText:= ’select LAST_INSERT_ID()’;
SqlDataSet.Open;
result:= SqlDataSet.Fields[0].AsInteger;
SqlDataSet.Close;
finally
SqlDataSet.Free;
end;
end;

Para chamar a função deve-se passar um objeto da classe TSQLConnection por parâmetro, que representa a conexão com o banco de dados.

Espero que seja útil, como foi pra mim.

T+


MySQL 5 e Firebird 2 no Delphi 2007 com DBExpress

4, Junho 2008

Eu no YouTube

13, Janeiro 2008

Hoje estava navegando no YouTube e encontrei duas das video-aulas que publiquei no site da revista Active Delphi.
Pena que a pessoa que publicou não colocou informações detalhadas sobre as video-aulas e nem mesmo incluiu meu nome ou o site da revista, mas está lá para quem quiser ver, juntamente com várias outras video-aulas de delphi de diversos autores.

Os links são estes: Criando Objetos Dinamicamente em Delphi e Aplicação de Cadastro com arquivo XML.


Desenvolvimento de aplicações para Compact Framework com BDS2006 e CF Build Helper

6, Janeiro 2008

Veja o artigo no meu novo blog.

Quem está desenvolvendo aplicações para dispositivos móveis Pocket PC ou Smartphones com o Borland Developer Studio 2006 utilizando o plugin Compact Framework Build Helper pode se deparar com o erro ILLK3860 no momento da compilação da aplicação. Procurando na internet encontrei apenas uma resposta indicando que este erro poderia ser do compilador do Delphi ou do Plugin. Já comecei a me desesperar. Porém, meu projeto estava compilando antes, então, tentei lembrar o que tinha feito de diferente para ele deixar de compilar. Aí lembrei que tinha incluído um arquivo AssemblyInfo no projeto, para adicionar informações sobre a versão da aplicação. Assim, descobri que isto foi a causa do erro quando removi o arquivo do projeto. Em projeto para .NET Compact Framework (deve valer para aplicacações Windows Forms com o.NET Framework), as informações de versão devem ser incluídas diretamente no arquivo dpr.


Meu primeiro artigo na ClubeDelphi

1, Novembro 2007

É com grande satisfação que venho informar que, finalmente, meu primeiro artigo na revista ClubeDelphi foi publicado. Tive uma grande decepção pois me prometeram que o artigo seria de capa e não sei porque não foi. Como disse o próprio Guinther Pauli (editor geral da revista, maior desenvolvedor delphi do país e meu ídolo do Delphi): o artigo desvenda do início ao fim o desenvolvimento de aplicativos móveis para PocketPC com Delphi. O artigo foi dividido em duas partes. A primeira parte saiu na edição 89, que ainda não chegou às bancas, chegou apenas para os assinantes da revista.

Já tive o feedback de alguns alunos meus que leram o artigo e elogiaram. Espero que todos gostem.


FeneInfo 2007

20, Junho 2007

De 19 a 22 de junho de 2007 acontecerá a primeira FeneInfo – Feira de Tecnologia da Informação do Tocantins. Um evento organizado por várias instituições de ensino superior da capital Palmas, onde serão feitas palestras, amostras, discussões, apresentação de produtos e de novas tecnologias. A Escola Técnica Federal de Palmas, onde leciono, é uma das parceiras.

Na quarta-feira, dia 20, as 14:00 horas, estarei ministrando a palestra “Aplicações para Dispositivos Móveis”, falando sobre o desenvolvimento de aplicações para Pocket PC e Smartphone, utilizando o .NET Compact Framework e o Borland Developer Studio 2006 com a linguagem Delphi.NET

O site oficial da feira é http://www.site.uft.edu.br/feneinfo/