Criando uma Aplicação com RAD 2010 e MySQL 5.1 - Parte 4
Pequeno Tutorial sobre a criação de aplicativos usando o RAD 2010 com o MySQL 5.1 atravês dos componentes DBX.
Nesta parte do artigo vou exibir um pequeno tutorial sobre como criar uma tela de cadastro. Devo lembrar que nestes tutoriais explano apenas o básico para o funcionamento do cadastro, deixando os detalhes para cada um fazer da maneira que achar melhor.
Primeiramente crie uma tela parecida com a da figura abaixo.
O componente TDataSource (DataDados), deverá estar ligado ao componente TClientDataSet do Data Module criado anteriormente, pois ele será o canal entre os campos da tela criada com os componentes de conexão com o banco de dados. Para efetuar esta ligação, basta indicar na propriedade “Dataset” do componente TDataSource o componente TCientDataSet.
O Data Module deverá estar informado na clausula uses do formulário, para que seja possível esta ligação. Veja o exemplo:
var
Form1: TForm1;
implementation
Uses DataModulo;
{$R *.dfm}
Efetue a ligação dos campos do formulário com os campos da tabela do banco de dados através das propriedades “DataSource” e “DataField” de cada campo. Veja figura:
Agora vamos codificar os botões do formulário da seguinte forma:
Botão Incuir:
DataDados.DataSet.Append;
DbID.SetFocus;
Botão Confirmar
DM.Grava_Dados;
Observação: Abaixo estará os códigos da procedure “Grava_Dados”.
Botão cancelar
DataDados.DataSet.Cancel;
Botão Excluir
if MessageDlg('Confirma Exclusão?',mtConfirmation,[mbYes,mbno],0) = mrYes then
DataDados.DataSet.Delete;
Botão Fechar
if (DataDados.DataSet.State in [dsInsert, dsEdit]) then
begin
ShowMessage('É necessário Conformar ou cancelar os dados!');
Abort;
end;
Close;
No evento OnShow do formulário adicione o seguinte código:
DataDados.DataSet := DM.CdsDados;
DM.AbreTabela(0);
E no evento OnClose adicione o código:
DataDados.DataSet.Close;
No Data Module crie as procedures:
procedure TDM.IniciaTransacao;
begin
Transc.TransactionID := Random(65635);
Transc.IsolationLevel := xilREADCOMMITTED;
SQLConnection1.StartTransaction(Transc);
end;
procedure TDm.Grava_Dados;
begin
Randomize;
IniciaTransacao;
if CdsDados.Active then
begin
if (CdsDados.State in [dsInsert,dsEdit]) then
CdsDados.Post;
if (CdsDados.ChangeCount > 0) then
CdsDados.ApplyUpdates(0);
end;
SQLConnection1.Commit(Transc);
end;
procedure TDM.AbreTabela(pID: Integer);
begin
CdsDados.Close;
CdsDados.Params.ParamByName('pID').AsInteger := pID;
CdsDados.Open;
end;
Será necessário criar uma variável privada para auxiliar as rotinas de gravação dos dados no banco de dados:
Transc: TTransactionDesc;
Com isso concluímos a criação da tela de cadastro. Qualquer dúvida, postem os comentários.
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo