AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Mehrmaliges Benutzen von Query.Next nicht möglich?
Thema durchsuchen
Ansicht
Themen-Optionen

Mehrmaliges Benutzen von Query.Next nicht möglich?

Ein Thema von Svenkan · begonnen am 18. Mai 2007 · letzter Beitrag vom 21. Mai 2007
Antwort Antwort
Seite 1 von 2  1 2      
Svenkan

Registriert seit: 10. Feb 2007
Ort: Bersenbrück
547 Beiträge
 
Delphi 7 Enterprise
 
#1

Mehrmaliges Benutzen von Query.Next nicht möglich?

  Alt 18. Mai 2007, 14:50
Ich benutze jeweils 2x in verschiedenen Prozeduren Query1.Next bzw. Query2.Next.
Die ersten Ausführungen funktionieren problemlos, jedoch funktioniert es in der 2. Prozedur nicht mehr.
Kann man es nur einmal pro Form benutzen?
Sven Kannenberg
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.883 Beiträge
 
Delphi 12 Athens
 
#2

Re: Mehrmaliges Benutzen von Query.Next nicht möglich?

  Alt 18. Mai 2007, 15:45
Doch kannst das so lange benutzen bis Query.eof ist.

Poste doch mal den Code
Andreas
Monads? Wtf are Monads?
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#3

Re: Mehrmaliges Benutzen von Query.Next nicht möglich?

  Alt 18. Mai 2007, 15:47
Hi,

Du darfst natürlich nicht vergessen, zwischen den beiden Proceduren ein Query.First aufzurufen, damit der Datenzeiger wieder am Anfang der Datei steht.
  Mit Zitat antworten Zitat
Svenkan

Registriert seit: 10. Feb 2007
Ort: Bersenbrück
547 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Mehrmaliges Benutzen von Query.Next nicht möglich?

  Alt 18. Mai 2007, 16:39
Noch firster als jetzt geht ja gar nicht. ^^
Er liest ja nur die allererste Zeile aus, obwohl QueryX.Next vorhanden ist.
Sven Kannenberg
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Mehrmaliges Benutzen von Query.Next nicht möglich?

  Alt 18. Mai 2007, 16:40
Zeig mal den Code
Markus Kinzler
  Mit Zitat antworten Zitat
Svenkan

Registriert seit: 10. Feb 2007
Ort: Bersenbrück
547 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Mehrmaliges Benutzen von Query.Next nicht möglich?

  Alt 18. Mai 2007, 16:44
Hier mal mit Query1:

Delphi-Quellcode:
  AssignFile(Datei, (ExtractFilePath(ParamStr(0)) + '\heute.htm'));
  Rewrite(Datei); // Datei neu schreiben
  a:='<html>'+sLineBreak+'<head>'+sLineBreak+'<table border="0" width="100%" style="border-collapse: collapse" id="table3">'+sLineBreak+'<tr>'+sLineBreak+'<td>'+sLineBreak+'<FONT face=Arial COLOR=#000080 style="font-size: 8pt">'+sLineBreak+'Stand: '+str+'
» [url="morgen.htm"]
'+tag_tomorrow+', '+tomorrow+'[/url]</FONT></td>'+sLineBreak+'<td>'+sLineBreak+'<p align="right">'+sLineBreak+'<font style="font-size: 8pt" color="#000080" face="Arial">'+schule+'</font></td>'+sLineBreak+'</tr>'+sLineBreak+'</table>
'+sLineBreak+'<table border="0" width="100%" id="table1" style="border-collapse: collapse">'+sLineBreak+'<tr>'+sLineBreak+'<td><font color="#000080" style="font-size: 18pt">Vertretungsplan für:</font><font size="5">'+sLineBreak+'<font color="#FF0000">'+wochentag+', '+today+'</font></font>
'+sLineBreak+'<font color=#009933 face=Arial size=4>- ohne Gewähr! -</font></td>';
  WriteLn(Datei, a);
  b:=sLineBreak+'<td align="right">'+sLineBreak+'<font color=#000080 face=Arial size=2>Der Plan wird '+zeitraum+' aktualisiert</font><p align="right"></td>'+sLineBreak+'</tr>'+sLineBreak+'</table>
'+sLineBreak+'<table cellpadding=2 cellspacing=1 border=0 width="98%" bgcolor="#000000">'+sLineBreak+'<tr>'+sLineBreak+'<td width=9% bgcolor=#FFFFFF>'+sLineBreak+'<font color=#000080 face="Times New Roman" style="font-size: 11pt">Klasse</font></td>'+sLineBreak+'<td width=9% bgcolor=#FFFFFF>'+sLineBreak+'<font color=#000080 face="Times New Roman" style="font-size: 11pt">Stunde</font></td>'+sLineBreak+'<td width=9% bgcolor=#FFFFFF>'+sLineBreak+'<font color=#000080 face="Times New Roman" style="font-size: 11pt">Es fehlt</font></td>';
  WriteLn(Datei, b);
  c:=sLineBreak+'<td width=9% bgcolor=#FFFFFF>'+sLineBreak+'<font color=#000080 face="Times New Roman" style="font-size: 11pt">Es vertritt</font></td>'+sLineBreak+'<td width=9% bgcolor=#FFFFFF>'+sLineBreak+'<font color=#000080 face="Times New Roman" style="font-size: 11pt">Fach</font></td>'+sLineBreak+'<td width=9% bgcolor=#FFFFFF>'+sLineBreak+'<font color=#000080 face="Times New Roman" style="font-size: 11pt">Raum</font></td>'+sLineBreak+' <td width=37% bgcolor=#FFFFFF>'+sLineBreak+'<font color=#000080 face="Times New Roman" style="font-size: 11pt">Bemerkung ('+IntToStr(Query1.RecordCount)+' Einträge)</font></td>'+sLineBreak+'</tr>';
  WriteLn(Datei, c);

  for count := 0 to Pred(Query1.RecordCount) do begin
   if count mod 2 = 0 then begin
    tdcolor:=tdc1;
    fccolor:=fc1;
   end
   else begin
    fccolor:=fc2;
    tdcolor:=tdc2;
   end;

   hcode:='<tr bgcolor="'+tdcolor+'">'+sLineBreak+'<td width=9%><font color="'+fccolor+'" size=2 face=Arial> '+Query1.FieldByName('KLASSEN').AsString+'</font></td>'+sLineBreak+'<td width=9%><font color="'+fccolor+'" size=2 face=Arial> '+Query1.FieldByName('S').AsString+'.</font></td>'+sLineBreak+'<td width=9%><font color="'+fccolor+'" size=2 face=Arial> '+Query1.FieldByName('FUER').AsString+'</font></td>';
   WriteLn(Datei, hcode);
   hcode2:='<td width=9%><font color="'+fccolor+'" size=2 face=Arial> '+Query1.FieldByName('WER').AsString+'</font></td>'+sLineBreak+'<td width=9%><font color="'+fccolor+'" size=2 face=Arial> '+Query1.FieldByName('FACH').AsString+'</font></td>'+sLineBreak+'<td width=9%><font color="'+fccolor+'" size=2 face=Arial> '+Query1.FieldByName('RAUM').AsString+'</font></td>'+sLineBreak+'<td width=37% bgcolor="'+tdcolor+'"><font color="'+fccolor+'" size=2 face=Arial> '+Query1.FieldByName('BEMER_SCH').AsString+'</font></td>'+sLineBreak+'</tr>';
   WriteLn(Datei, hcode2);
   Query1.Next;
  end;
  if NOT (heute.Lines.text='') then begin
   d:=sLineBreak+'<tr>'+sLineBreak+'<td width="91%" bgcolor="#FFFFCE" colspan="7">'+sLineBreak+'<font face="Times New Roman" color=#000080 style="font-size: 11pt">Mitteilungen:';
   WriteLn(Datei, d);
    WriteLn(Datei, '<ul>');
    For I:=0 to heute.Lines.Count -1 do
    WriteLn(Datei, '[*]'+heute.Lines[i]+'');
    WriteLn(Datei, '[/list]');
   e:='</font></td>'+sLineBreak+'</tr>';
   WriteLn(Datei, e);
  end;
Sven Kannenberg
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Mehrmaliges Benutzen von Query.Next nicht möglich?

  Alt 18. Mai 2007, 16:50
Könntest due den Code mal richtig einrücken, man erkennt so recht wenig
Zitat:
for count := 0 to Pred(Query1.RecordCount) do begin
??
Markus Kinzler
  Mit Zitat antworten Zitat
Svenkan

Registriert seit: 10. Feb 2007
Ort: Bersenbrück
547 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Mehrmaliges Benutzen von Query.Next nicht möglich?

  Alt 18. Mai 2007, 16:59
Er soll halt alle Zeilen durchgehen.
Vorher hat das so auch funktioniert.
Sven Kannenberg
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: Mehrmaliges Benutzen von Query.Next nicht möglich?

  Alt 18. Mai 2007, 17:02
Damm aber besser mit while not Query1.EOF Aber rücke mal so ein, das man sieht welches end zu welchem begin gehört
Markus Kinzler
  Mit Zitat antworten Zitat
Svenkan

Registriert seit: 10. Feb 2007
Ort: Bersenbrück
547 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: Mehrmaliges Benutzen von Query.Next nicht möglich?

  Alt 18. Mai 2007, 17:10
Sehr schön.
Damit funktionierts auch gleich wieder.

Und was das Einrücken angeht..ich denke, da sollt ich mir wirklich mal ne Weile Zeit für nehm.
Sven Kannenberg
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:16 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz