Deletando por Data
Boa Tarde, estou querendo Deletar as registros por Data, ou seja Data Inicial e Final, com Paramentos vou passar o que eu fiz.
sdsDelete.DataSet.CommandText:=´ ´;
sdsDelete.DataSet.CommandText:=´DELETE FROM ESTFISIC WHERE FLAG_BAIXA = ´*´ AND DATA >= :DTINI AND DATA <= :DTFIM´;
sdsDelete.Params.ParamByName(´DTINI´).AsString:=edtDTINI.Text;
sdsDelete.Params.ParamByName(´DTFIM´).AsString:=edtDTFIM.Text;
sdsDelete.Execute;
Quando eu roda a aplicação, aparece o seguinte erro: Operador Invalido.
Abraço
sdsDelete.DataSet.CommandText:=´ ´;
sdsDelete.DataSet.CommandText:=´DELETE FROM ESTFISIC WHERE FLAG_BAIXA = ´*´ AND DATA >= :DTINI AND DATA <= :DTFIM´;
sdsDelete.Params.ParamByName(´DTINI´).AsString:=edtDTINI.Text;
sdsDelete.Params.ParamByName(´DTFIM´).AsString:=edtDTFIM.Text;
sdsDelete.Execute;
Quando eu roda a aplicação, aparece o seguinte erro: Operador Invalido.
Abraço
Bertocco
Curtidas 0
Respostas
Paullsoftware
23/03/2006
fiz um teste aqui com uma tabela com os campos: Nome (VarChar) e DataCad (date) e funcionou legal...
:wink:
With IbQuery1 do begin Close; Sql.Clear; Sql.Text := ´Delete From Cadastro Where DataCad Between :Di And :Df´; ParamByName(´Di´).AsDate := dtp1.Date; ParamByName(´Df´).AsDate := dtp2.Date; ExecSql; end;
GOSTEI 0
Bertocco
23/03/2006
fiz um teste aqui com uma tabela com os campos: Nome (VarChar) e DataCad (date) e funcionou legal...
:wink:
With IbQuery1 do begin Close; Sql.Clear; Sql.Text := ´Delete From Cadastro Where DataCad Between :Di And :Df´; ParamByName(´Di´).AsDate := dtp1.Date; ParamByName(´Df´).AsDate := dtp2.Date; ExecSql; end;
Mais eu preciso desse campo: WHERE FLAG_BAIXA = ´*´
GOSTEI 0
Bertocco
23/03/2006
Mais eu preciso desse campo: WHERE FLAG_BAIXA = ´*´
GOSTEI 0
Paullsoftware
23/03/2006
Mais eu preciso desse campo: WHERE FLAG_BAIXA = ´*´
Ele é do tipo VarChar então complemente assim:
With IbQuery1 do
begin
Close;
Sql.Clear;
Sql.Text := ´Delete From Cadastro Where DataCad Between :Di And :Df and Tipo=:t´;
ParamByName(´Di´).AsDate := dtp1.Date;
ParamByName(´Df´).AsDate := dtp2.Date;
ParamByName(´t´).AsString := Edit1.Text;//Onde pode ser substituido por ´*´
ExecSql;
end;
GOSTEI 0
Bertocco
23/03/2006
Funcionou!!! Muito Rápido
Agradeço sua ajuda, muito obrigado
Agradeço sua ajuda, muito obrigado
GOSTEI 0