Qyery Urgente !!!!!
06/03/2003
0
Abs...
Oscar Luiz
Oscarluiz
Posts
06/03/2003
Navoid
coloque o código inteiro aqui pra poder ver como vc faz para gravar.
até
06/03/2003
Oscarluiz
\
procedure Tfrmconsulta.rbliberadoClick(Sender: TObject);
var
recebecodigo, datafinal : string;
begin
if query.RecordCount = 0 then
Begin
rbliberado.Checked:=false;
exit;
end;
recebecodigo := querycodigo.Text;
If Not (query.RecordCount = 0) then
Begin
query.Close;
query.SQL.Clear;
query.SQL.Add(´update problemas set status = ´ + ´´´´ + ´L´ + ´´´´ + ´ ´ + ´where status =´ + ´´´´ + ´P´ + ´´´´ + ´and codigo =´ + ´´´´ + recebecodigo + ´´´´ );
query.ExecSQL;
datafinal:=datetostr(now);
query.SQL.Clear;
[b:f3e99b479d]query.SQL.Add(´update problemas set dtfinal = ´ + ´´´´ + datafinal + ´´´´ + ´ ´ + ´where codigo =´ + ´´´´ + recebecodigo + ´´´´ ); [/b:f3e99b479d]
query.ExecSQL;
query.sql.Clear;
query.SQL.Add(´select * from problemas where status =´ + ´´´´ + ´P´ + ´´´´ );
query.Open;
query.Refresh;
query.Open;
rbliberado.Checked:=false;
end;
end;
[]´s
Oscar Luiz
06/03/2003
Navoid
eu não sei se vc sabe, mas vc pode usar parâmetros na query.
funciona assim:
vc coloca o caracter : seguido do nome do parâmetro assim:
****
select qualquercoisa from tabela where (codigo = :pcodigo)
****
entao tudo que vc tem que fazer é antes de executar este código tratar os parâmetros.
bom, mas qual a vantagem do parâmetro?
a vantagem é que vc informa de que tipo é o parâmetro (ex. integer, string, [b:c0bf3135bb]tdatetime[/b:c0bf3135bb], etc.) e assim o delphi converte para o tipo específico do banco.
por isso, sempre use parâmetros no caso de datas e strings, pq fica mais fácil.
para resolver o seu problema faça assim
****
procedure Tfrmconsulta.rbliberadoClick(Sender: TObject);
var
recebecodigo: string;
begin
if query.RecordCount = 0 then
Begin
rbliberado.Checked:=false;
exit;
end;
recebecodigo := querycodigo.Text;
If Not (query.RecordCount = 0) then
Begin
query.Close;
query.SQL.Clear;
query.SQL.Add(´update problemas set status = :pstatus_atual where status = :pstatus_novo and codigo = :pcodigo´);
query.SQL.parambyname(´pstatus_atual´).asstring := ´L´;
query.SQL.parambyname(´pstatus_novo´).asstring := ´P´;
query.SQL.parambyname(´pcodigo´).asstring := recebecodigo;
query.ExecSQL;
query.SQL.Clear;
query.SQL.Add(´update problemas set dtfinal = :pdatafinal where codigo = :pcodigo´ );
query.SQL.parambyname(´pdatafinal´).asdatetime := now;
query.SQL.parambyname(´pcodigo´).asstring := recebecodigo;
query.ExecSQL;
query.sql.Clear;
query.SQL.Add(´select * from problemas where status = :pstatus´);
query.SQL.parambyname(´pstatus´).asstring := ´P´;
query.Open;
query.Refresh;
query.Open;
rbliberado.Checked:=false;
end;
end;
****
qq dúvida pergunte
até
Clique aqui para fazer login e interagir na Comunidade :)