Problemas com parametros, delphi 2005

Delphi

29/08/2007

Bom dia pessoal,

Fiz essa query no Delphi 2005, de inserção mas ta dando erro toda vez rodo o sistema aparece a seguinte menssagem de erro : [i:aecb6fd8ce]´ Incorrect Syntax near ´@P1´. ´ [/i:aecb6fd8ce]
Não sei o que é isso e não achei nada na internet comentando esse erro também, queria saber se vocês podem me ajudar !! Abaixo segue a Query de inserção que eu fiz, e o banco de dados que eu estou usando é o SQL server 2005.

with Qry_agendamento, SQL do
begin
close;
clear;

Add(´ Insert into tb_Agenda_consulta ´);
Add(´ (Data, Hora, Status) ´);
Add(´ Values ´);
Add(´ :Data, :hora, :Status ´);

Parameters.ParamByName(´Data´).Value := quotedstr(ydata);
Parameters.ParamByName(´Hora´).Value := quotedstr(inttostr(horas)+´:´+ inttostr(min) {+ ´:00´});
Parameters.ParamByName(´Status´).Value := QuotedStr(status);

ExecSQL;

end;[i:aecb6fd8ce][/i:aecb6fd8ce]

ydata, horas, status são variaveis que recebem valores !!
Quem puder me da uma força ai ... Valew !!!


Ederp

Ederp

Curtidas 0

Respostas

Emerson Nascimento

Emerson Nascimento

29/08/2007

tente assim. talvez a declaração explícita dos tipos possa resolver o problema.
with Qry_agendamento, Qry_agendamento.SQL do
begin
  close;
  clear;

  Add(´Insert into tb_Agenda_consulta´);
  Add(´(Data, Hora, Status)´);
  Add(´Values´);
  Add(´:Data, :hora, :Status´);

  Parameters.ParamByName(´Data´).AsDate := ydata;
  Parameters.ParamByName(´Hora´).AsString :=  quotedstr(inttostr(horas)+´:´+ inttostr(min) {+ ´:00´});
  Parameters.ParamByName(´Status´).AsString := QuotedStr(status);

  ExecSQL;
end;



GOSTEI 0
Ederp

Ederp

29/08/2007

Po tentei esse codigo ai também, mas continua dando o erro, o mesmo erro por sinal, e não tenho nem ideia do que seja !! To começando a achar que é a maquina aqui !!
Vou reinstalar o Delphi 2005 p/ ver se resolve ...

Mas valew pela ajuda !!


GOSTEI 0
Emerson Nascimento

Emerson Nascimento

29/08/2007

outra solução seria colocar os parâmetros no padrão do SQL Server para ver se funciona. não custa tentar...
with Qry_agendamento, Qry_agendamento.SQL do
begin
  close;
  clear;

  Add(´Insert into tb_Agenda_consulta´);
  Add(´(Data, Hora, Status)´);
  Add(´Values´);
  Add(´@Data, @hora, @Status´);

  Parameters.ParamByName(´@Data´).AsDate := ydata;
  Parameters.ParamByName(´@Hora´).AsString :=  quotedstr(inttostr(horas)+´:´+ inttostr(min) {+ ´:00´});
  Parameters.ParamByName(´@Status´).AsString := QuotedStr(status);

  ExecSQL;
end;



GOSTEI 0
Ederp

Ederp

29/08/2007

Continua o mesmo erro :(

Só pode ser algun problema de instalção mesmo porque de parametros já tentei de todas as formas ... e nada !!


GOSTEI 0
Fjaimesilva

Fjaimesilva

29/08/2007

Amigo Será que está obedecendo a sintax correta do inert :

inset into nometabela values(:campo1, :campo2)


GOSTEI 0
Emerson Nascimento

Emerson Nascimento

29/08/2007

putz! falta de atenção!
faltaram os parêntesis nos parâmetros!
with Qry_agendamento, Qry_agendamento.SQL do
begin
  close;
  clear;

  Add(´Insert into tb_Agenda_consulta´);
  Add(´(Data, Hora, Status)´);
  Add(´Values´);
  Add(´(:Data, :hora, :Status)´); // aqui faltava os parêntesis

  Parameters.ParamByName(´Data´).AsDate := ydata;
  Parameters.ParamByName(´Hora´).AsString :=  quotedstr(inttostr(horas)+´:´+ inttostr(min) {+ ´:00´});
  Parameters.ParamByName(´Status´).AsString := QuotedStr(status);

  ExecSQL;
end;



GOSTEI 0
POSTAR