Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Somario

[Resolvido] Gravar em txt consulta mysql com varios registros

Recommended Posts

Bom dia pessoal,

 

Estou gravando em um txt com o resultado de uma consulta no mysql, sendo que só estou conseguindo gravar o primeiro registro.

 

procedure Tfrm_Gera_arquivo_com_notas_de_avaliacao.Button1Click(Sender: TObject);
   var arquivo: TextFile;
begin
 aux.SQL.Clear;
 aux.SQL.Add('SELECT * FROM resultados_de_avaliacoes WHERE resultados_de_avaliacoes.data_prova="'+(edit_m_data_prova.Text)+'" AND resultados_de_avaliacoes.ano="'+(list_ano.Text)+'"');
 aux.Open;
 aux.First;
    while not aux.eof do
    begin
       AssignFile(arquivo, 'D:\teste.txt');
       Rewrite(arquivo);
       WriteLn(arquivo, ''+IntToStr(auxcodigo.Value)+';'+(auxdisciplina_01.Value)+';'+(auxnota_disc_01.Value)+';''');
       aux.Next;
   end;
       CloseFile(arquivo);
       ShowMessage('Operação realizada com sucesso.');
end;

 

tenho pouco conhecimento em delphi, então desculpe se o codigo não tem nada a ver com o que preciso rsrsrsrs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Perfeito, funcionou exatamente como precisava, muuuuuuiiiiiiito obrigado

 

para quem precisar ficou assim:

 

procedure Tfrm_Gera_arquivo_com_notas_de_avaliacao.Button1Click(Sender: TObject);
var arquivo: TextFile;
begin
 aux.SQL.Clear;
 aux.SQL.Add('SELECT * FROM resultados_de_avaliacoes WHERE resultados_de_avaliacoes.data_prova="'+(edit_m_data_prova.Text)+'" AND resultados_de_avaliacoes.ano="'+(list_ano.Text)+'" AND resultados_de_avaliacoes.turma="'+(list_turma.Text)+'" AND resultados_de_avaliacoes.turno="'+(list_turno.Text)+'" AND resultados_de_avaliacoes.nivel="'+(list_ensino.Text)+'" AND resultados_de_avaliacoes.opcao="'+(list_opcao.Text)+'"');
 aux.Open;
 aux.First;
    AssignFile(arquivo, 'D:\'+(auxano.Value)+'-'+(auxturma.Value)+'-'+(auxturno.Value)+'-'+(auxnivel.Value)+'-'+(auxopcao.Value)+'-'+(auxdata_prova.Value)+'.txt');
    Rewrite(arquivo);
 while not aux.eof do
  begin
   WriteLn(arquivo, ''+IntToStr(auxcodigo.Value)+';'+(auxdisciplina_01.Value)+';'+(auxnota_disc_01.Value)+';'+(auxdisciplina_02.Value)+';'+(auxnota_disc_02.Value)+';'+(auxdisciplina_03.Value)+';'+(auxnota_disc_03.Value)+';'+(auxdisciplina_04.Value)+';'+(auxnota_disc_04.Value)+';'+(auxdisciplina_05.Value)+';'+(auxnota_disc_05.Value)+';'+(auxdisciplina_06.Value)+';'+(auxnota_disc_06.Value)+';'+(auxdisciplina_07.Value)+';'+(auxnota_disc_07.Value)+';'+(auxdisciplina_08.Value)+';'+(auxnota_disc_08.Value)+';'+(auxdisciplina_09.Value)+';'+(auxnota_disc_09.Value)+';'+(auxdisciplina_10.Value)+';'+(auxnota_disc_10.Value)+';'+(auxdisciplina_11.Value)+';'+(auxnota_disc_11.Value)+';'+(auxdisciplina_12.Value)+';'+(auxnota_disc_12.Value)+';'+(auxdisciplina_13.Value)+';'+(auxnota_disc_13.Value)+';'+(auxdisciplina_14.Value)+';'+(auxnota_disc_14.Value)+';'+(auxdisciplina_15.Value)+';'+(auxnota_disc_15.Value)+';');
   aux.Next;
   end;
   CloseFile(arquivo);
 ShowMessage('ARQUIVO GERADO COM SUCESSO!');
end;

 

usando

AssignFile(arquivo, 'D:\'+(auxano.Value)+'-'+(auxturma.Value)+'-'+(auxturno.Value)+'-'+(auxnivel.Value)+'-'+(auxopcao.Value)+'-'+(auxdata_prova.Value)+'.txt');

gerei o nome do arquivo que ficou assim: 3-A-MATUTINO-MEDIO-INGLES-16-07-2011.txt usei os dados do combobox que define minha consulta, pois sempre que fizer uma consulta com outra turma e outra data é gerado novo nome

 

o resultado do txt é esse:

 

200810009;MATEMATICA;4,17;QUIMICA;6,67;FISICA;5,00;BIOLOGIA;6,67;ARTES;5,83;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;
200810151;MATEMATICA;3,33;QUIMICA;5,00;FISICA;0,83;BIOLOGIA;2,50;ARTES;5,83;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;
200810055;MATEMATICA;2,50;QUIMICA;5,00;FISICA;3,33;BIOLOGIA;4,17;ARTES;5,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;
200810278;MATEMATICA;3,33;QUIMICA;3,33;FISICA;5,83;BIOLOGIA;5,83;ARTES;7,50;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;
200810490;MATEMATICA;1,67;QUIMICA;3,33;FISICA;5,00;BIOLOGIA;5,83;ARTES;6,67;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;
200910422;MATEMATICA;3,33;QUIMICA;1,67;FISICA;2,50;BIOLOGIA;2,50;ARTES;5,83;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;
200910028;MATEMATICA;4,17;QUIMICA;3,33;FISICA;2,50;BIOLOGIA;5,83;ARTES;5,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;
200810015;MATEMATICA;4,17;QUIMICA;5,00;FISICA;8,33;BIOLOGIA;6,67;ARTES;3,33;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;
201110293;MATEMATICA;5,00;QUIMICA;4,17;FISICA;4,17;BIOLOGIA;4,17;ARTES;7,50;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;
200910076;MATEMATICA;1,67;QUIMICA;3,33;FISICA;2,50;BIOLOGIA;5,83;ARTES;5,83;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;
200910402;MATEMATICA;3,33;QUIMICA;0,83;FISICA;5,00;BIOLOGIA;5,00;ARTES;9,17;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;
200810132;MATEMATICA;3,33;QUIMICA;3,33;FISICA;3,33;BIOLOGIA;3,33;ARTES;5,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;
200910029;MATEMATICA;5,00;QUIMICA;3,33;FISICA;6,67;BIOLOGIA;7,50;ARTES;7,50;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;
201110116;MATEMATICA;2,50;QUIMICA;5,00;FISICA;2,50;BIOLOGIA;4,17;ARTES;1,67;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;
200910358;MATEMATICA;2,50;QUIMICA;2,50;FISICA;3,33;BIOLOGIA;5,00;ARTES;6,67;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;
200810329;MATEMATICA;2,50;QUIMICA;5,00;FISICA;5,00;BIOLOGIA;5,83;ARTES;4,17;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;

 

nesse exemplo existe a matricula e as notas de 5 das 15 disciplinas possíveis.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.