|
ActiveDelphi .: O site do programador Delphi! :.
|
Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
monaro Novato
Registrado: Sexta-Feira, 17 de Mai de 2013 Mensagens: 9
|
Enviada: Ter Jun 04, 2013 5:33 pm Assunto: Erro ao realizar Insert |
|
|
Fala Galera,
To executando o código abaixo, passando os valores como parâmetro para o Insert, atribuído a variável S. Uso o componente Zeos.
O código é:
Código: | unit U_CadEst;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TFormCadEst = class(TForm)
Label1: TLabel;
Timer1: TTimer;
LabelHora: TLabel;
Label2: TLabel;
BtnConfEst: TButton;
BtnSair: TButton;
LPlaca: TLabel;
LModelo: TLabel;
LMarca: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
LabelData: TLabel;
procedure Timer1Timer(Sender: TObject);
procedure BtnSairClick(Sender: TObject);
procedure BtnConfEstClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FormCadEst: TFormCadEst;
implementation
uses UDataModule;
{$R *.dfm}
procedure TFormCadEst.Timer1Timer(Sender: TObject);
begin
{ Na linha de código seguinte foram utilizadas as funções FormatDateTime
(que formata data e hora atual obtida do sistema) e Now (que obtem a
data e a hora do sistema)
}
LabelHora.Caption := FormatDateTime('hh:mm:ss AM/PM', Now);
LabelData.Caption := FormatDateTime('yyyy/mm/dd', Now);
end;
procedure TFormCadEst.BtnSairClick(Sender: TObject);
begin
FormCadEst.close;
end;
procedure TFormCadEst.BtnConfEstClick(Sender: TObject);
var
S: string;
Begin
S:='Insert into Estadia (PlacaVel,DataEntrada,HoraEntrada) values (' ;
S:=':pPlaca, :pDataEntrada, :pHoraEntrada)';
if MessageDlg ('Confirma a inclusão destes dados no Banco de Dados?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then
Begin
//Limpa a propriedade SQL da engine ZQuery usando o método CLEAR
DataModule1.ZQ_Projeto3.SQL.Clear;
DataModule1.ZQ_Projeto3.ParamByName('pPlaca').AsString := LPlaca.Caption;
DataModule1.ZQ_Projeto3.ParamByName('pDataEntrada').Asstring := LabelData.Caption;
DataModule1.ZQ_Projeto3.ParamByName('pHoraEntrada').Asstring := LabelHora.Caption;
DataModule1.ZQ_Projeto3.SQL.Add(S);
//DataModule1.ZQ_Projeto3.Open;
DataModule1.ZQ_Projeto3.ExecSQL;
DataModule1.ListarTodosReg();
MessageDlg('Registro incluido com sucesso.', mtInformation, [mbOk], 0);
End
Else
begin
Showmessage ('Registro não incluido');
end;
End;
end. |
Está exibindo o erro:
"Project P_Cadastro.exe raised exception class EDatabaseError with message 'ZQ_Projeto3: Parameter 'pPlaca' not found. process stopped. Use step or Run to continue."
Uso PostgreSql
alguém pode me dar uma força nisso aew? |
|
Voltar ao Topo |
|
|
Deganutti Aprendiz
Registrado: Terça-Feira, 24 de Janeiro de 2012 Mensagens: 244
|
Enviada: Ter Jun 04, 2013 5:44 pm Assunto: |
|
|
Código: |
Begin
//Limpa a propriedade SQL da engine ZQuery usando o método CLEAR
DataModule1.ZQ_Projeto3.SQL.Clear;
DataModule1.ZQ_Projeto3.ParamByName('pPlaca').AsString := LPlaca.Caption;
DataModule1.ZQ_Projeto3.ParamByName('pDataEntrada').Asstring := LabelData.Caption;
DataModule1.ZQ_Projeto3.ParamByName('pHoraEntrada').Asstring := LabelHora.Caption;
DataModule1.ZQ_Projeto3.SQL.Add(S);
//DataModule1.ZQ_Projeto3.Open;
DataModule1.ZQ_Projeto3.ExecSQL;
DataModule1.ListarTodosReg();
MessageDlg('Registro incluido com sucesso.', mtInformation, [mbOk], 0);
|
{Cade o SQL?? com os parametros...}
[]'s _________________ "Se quiser testar o caráter de alguém, dê-lhe o poder" - Abraham Lincoln |
|
Voltar ao Topo |
|
|
imex Moderador
Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Ter Jun 04, 2013 6:03 pm Assunto: |
|
|
Boa tarde,
Experimente dessa forma:
Código: | procedure TFormCadEst.BtnConfEstClick(Sender: TObject);
Begin
if MessageDlg ('Confirma a inclusão destes dados no Banco de Dados?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then
Begin
//Limpa a propriedade SQL da engine ZQuery usando o método CLEAR
DataModule1.ZQ_Projeto3.SQL.Clear;
DataModule1.ZQ_Projeto3.SQL.Add('Insert into Estadia (PlacaVel, DataEntrada, HoraEntrada) values (');
DataModule1.ZQ_Projeto3.SQL.Add(':pPlaca, :pDataEntrada, :pHoraEntrada)');
DataModule1.ZQ_Projeto3.ParamByName('pPlaca').AsString := LPlaca.Caption;
DataModule1.ZQ_Projeto3.ParamByName('pDataEntrada').Asstring := LabelData.Caption;
DataModule1.ZQ_Projeto3.ParamByName('pHoraEntrada').Asstring := LabelHora.Caption;
//DataModule1.ZQ_Projeto3.Open;
DataModule1.ZQ_Projeto3.ExecSQL;
DataModule1.ListarTodosReg();
MessageDlg('Registro incluido com sucesso.', mtInformation, [mbOk], 0);
End
Else
Showmessage ('Registro não incluido');
End; |
obs:
- não sei se vai funcionar passando a data e a hora para os parâmetros utilizando AsString
- talvez seja melhor considerar a possibilidade de criar um campo que armazene a data e a hora juntos em vez de 2 campos separados
Espero que ajude.
_________________
Assinatura: http://www.imoveisemexposicao.com.br/imoveis-venda-guarulhos-terreno |
|
Voltar ao Topo |
|
|
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|