Procedure de gravação
Boa noite!
Eu tenho uma aplicação que possui um botão Gravar que faz a inserção dos dados no banco de dados:
Só que nessa aplicação existe um botão Alterar que habilita os edits e deixa o form em modo de alteração.
Dessa forma, o botão gravar deve funcionar com um update.
Tentei com if..else mas não consegui.
Alguém pode me ajudar?
Eu tenho uma aplicação que possui um botão Gravar que faz a inserção dos dados no banco de dados:
procedure TfrmClientes.btnGravarClick(Sender: TObject);
begin
qyClientes.Close;
qyClientes.SQL.Clear;
qyClientes.SQL.Append('INSERT INTO tbCliente (Nome, DataNascimento, Endereco, Identidade, CPF, Observacao) VALUES (:Nome, :DataNascimento, :Endereco, :Identidade, :CPF, :Observacao)');
qyClientes.Parameters.ParamByName('Nome').Value := edtNome.Text;
qyClientes.Parameters.ParamByName('Endereco').Value := edtEndereco.Text;
qyClientes.Parameters.ParamByName('DataNascimento').Value := edtNascimento.Text;
qyClientes.Parameters.ParamByName('Identidade').Value := edtIdentidade.Text;
qyClientes.Parameters.ParamByName('CPF').Value := edtCPF.Text;
qyClientes.Parameters.ParamByName('Observacao').Value := edtObservacao.Text;
qyClientes.ExecSQL;
edtCodigo.Enabled := False;
edtNome.Enabled := False;
edtNascimento.Enabled := False;
edtEndereco.Enabled := False;
edtIdentidade.Enabled:= False;
edtCPF.Enabled := False;
edtObservacao.Enabled := False;
edtNome.Color := clWindow;
edtNascimento.Color := clWindow;
edtEndereco.Color := clWindow;
edtIdentidade.Color := clWindow;
edtCPF.Color := clWindow;
edtObservacao.Color := clWindow;
btnGravar.Enabled := False;
btnAlterar.Enabled := True;
end;Só que nessa aplicação existe um botão Alterar que habilita os edits e deixa o form em modo de alteração.
Dessa forma, o botão gravar deve funcionar com um update.
Tentei com if..else mas não consegui.
Alguém pode me ajudar?
Rafael Costa
Curtidas 0
Respostas
Rafael Costa
08/06/2013
Criei uma variável para controlar se será INSERT ou UPDATE a função do botão:
Mas não consigo fazer o IF funcionar, o que há de errado nele?
procedure TfrmClientes.btnGravarClick(Sender: TObject);
begin
if (Gravacao = 'I') then
qyClientes.Close;
qyClientes.SQL.Clear;
qyClientes.SQL.Append('INSERT INTO tbCliente (Nome, DataNascimento, Endereco, Identidade, CPF, Observacao) VALUES (:Nome, :DataNascimento, :Endereco, :Identidade, :CPF, :Observacao)');
qyClientes.Parameters.ParamByName('Nome').Value := edtNome.Text;
qyClientes.Parameters.ParamByName('Endereco').Value := edtEndereco.Text;
qyClientes.Parameters.ParamByName('DataNascimento').Value := edtNascimento.Text;
qyClientes.Parameters.ParamByName('Identidade').Value := edtIdentidade.Text;
qyClientes.Parameters.ParamByName('CPF').Value := edtCPF.Text;
qyClientes.Parameters.ParamByName('Observacao').Value := edtObservacao.Text;
qyClientes.ExecSQL;
edtCodigo.Enabled := False;
edtNome.Enabled := False;
edtNascimento.Enabled := False;
edtEndereco.Enabled := False;
edtIdentidade.Enabled:= False;
edtCPF.Enabled := False;
edtObservacao.Enabled := False;
edtNome.Color := clWindow;
edtNascimento.Color := clWindow;
edtEndereco.Color := clWindow;
edtIdentidade.Color := clWindow;
edtCPF.Color := clWindow;
edtObservacao.Color := clWindow;
btnGravar.Enabled := False;
btnAlterar.Enabled := True;
else
if (Gravacao = A) then
qyClientes.Close;
qyClientes.SQL.Clear;
qyClientes.SQL.Append('UPDATE tbCliente SET Nome = :Nome, DataNascimento = :DataNascimento, Endereco = :Endereco, Identidade = :Identidade, CPF = :CPF, Observacao = :Observacao')
qyClientes.Parameters.ParamByName('Nome').Value := edtNome.Text;
qyClientes.Parameters.ParamByName('Endereco').Value := edtEndereco.Text;
qyClientes.Parameters.ParamByName('DataNascimento').Value := edtNascimento.Text;
qyClientes.Parameters.ParamByName('Identidade').Value := edtIdentidade.Text;
qyClientes.Parameters.ParamByName('CPF').Value := edtCPF.Text;
qyClientes.Parameters.ParamByName('Observacao').Value := edtObservacao.Text;
qyClientes.ExecSQL;
edtCodigo.Enabled := False;
edtNome.Enabled := False;
edtNascimento.Enabled := False;
edtEndereco.Enabled := False;
edtIdentidade.Enabled:= False;
edtCPF.Enabled := False;
edtObservacao.Enabled := False;
edtNome.Color := clWindow;
edtNascimento.Color := clWindow;
edtEndereco.Color := clWindow;
edtIdentidade.Color := clWindow;
edtCPF.Color := clWindow;
edtObservacao.Color := clWindow;
btnGravar.Enabled := False;
btnAlterar.Enabled := True;
end;Mas não consigo fazer o IF funcionar, o que há de errado nele?
GOSTEI 0
Rafael Costa
08/06/2013
Resolvido
GOSTEI 0
Joel Rodrigues
08/06/2013
Obrigado pelo retorno.
Tópico CONCLUÍDO.
Tópico CONCLUÍDO.
GOSTEI 0