Fórum delete com sql #490978

01/09/2014

0

Pessoal,
A tabela FREQUENCIA tem 31 campos (FREQUENCIA FREQUENCIA_FALTA1... FREQUENCIA FREQUENCIA_FALTA31) O código abaixo está excluindo todos os campos da tabela de acordo com o ano e mês, mas preciso que só exclua a coluna referente ao dia da data informada (FREQUENCIA FREQUENCIA_FALTA_' + inttostr(dia)) e não todos os 31 campos do referido mês.

procedure TFrmFrequencia.BtnExcluirClick(Sender: TObject);
Var
 PegaData, RecebeData : string;
 dia, mes, ano : Word;
 sSQL  : String;
begin
 PegaData := FormatDateTime('yyyymm', Edt_DataFrequencia.Date);
 DecodeDate(edt_datafrequencia.Date,ano,mes, dia);

 with DmDados.IBQryFrequencia do
  begin
    Close;
    sSQL  := SQL.Text;
    SQL.Clear;
    SQl.Add('DELETE FROM FREQUENCIA FREQUENCIA_FALTA_' + inttostr(dia));
    SQL.Add('where escola =:escola and codigo_Turma =:turma and codigo_disciplina =:disciplina and anomes =:data');
    ParamByName('ESCOLA').AsInteger     := DmDados.IBQryEscolaCODIGO.AsInteger;
    ParamByName('turma').AsInteger      := DmDados.IBQryTurmaCODIGO.AsInteger;
    ParamByName('disciplina').AsInteger := DmDados.IBQryDisciplinaCODIGO.AsInteger;
    ParamByName('data').AsString        := PegaData;
    ExecSQL;
    DmDados.IBTransaction.CommitRetaining;
    SQL.Text  := sSQL;
 end;
Osmar

Osmar

Responder

Posts

01/09/2014

Joel Rodrigues

Não se pode EXCLUIR uma coluna, creio que nesse caso você queira fazer um UPDATE, alterando o valor.
Responder

Gostei + 0

01/09/2014

Osmar

Joel, realmente preciso excluir os dados inseridos na coluna, nessas colunas o usuário inseri a frequência dos alunos com 'C' ou 'F', mas se ele fez um lançamento indevidamente preciso ter a opção de excluir só os dados de uma das 31 colunas, a não ser que possa ser feito um UPDATE deixando os campos da referida coluna vazio.
Responder

Gostei + 0

01/09/2014

Osmar

Joel,
Obrigado pela dica, refiz o código e funcionou.

SQl.Add('UPDATE FREQUENCIA SET FREQUENCIA_FALTA_' + inttostr(dia) + ' = ' + quotedstr(''));

Valeu irmão.
Responder

Gostei + 0

01/09/2014

Joel Rodrigues

Opa, show de bola.
Abraço e bons códigos.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar