![]() |
Datenbank: SQLite • Version: 2.8 • Zugriff über: Zeos
Problem mit Datenbank zugriff
Moin Moin
ich habe da ein kleines Problem mit einer Funktion die ich zusammen gewürfelt habe
Delphi-Quellcode:
tja hier rufe ich die Funktion DB_PFAD auf und hier ist auch das problem
procedure TForm1.Button1Click(Sender: TObject);
var cPfad : string; cZielPfad : string; aListe : TStrings; n : integer; cTag : String; cMonat : String; cJahr : String; cMD5 : String; cSQL : String; cDateiPfad : String; zListe : TZQuery; begin cPfad := 'o:\'; cZielPfad := 'd:\bilder\'; aliste := TStringList.Create; n := 1; Form1.zQuery1.SQL.Clear; Form1.zQuery1.SQL.Add('SELECT md5 FROM PfadBilder Group by md5'); Form1.zQuery1.Open; zListe := Form1.zQuery1; zListe.First; While (Not zListe.Eof) Do begin inc(n); cMD5 := zListe.FieldByName('MD5').asString; cDateiPfad := DB_PFAD(cMD5); cTag := FormatDateTime('DD', GetTime(cDateiPfad)); cMonat := FormatDateTime('MM', GetTime(cDateiPfad)); cJahr := FormatDateTime('YYYY', GetTime(cDateiPfad)); if not DirectoryExists(cZielPfad+cJahr) then begin MkDir(cZielPfad+cJahr); end; if not DirectoryExists(cZielPfad+cJahr+'\'+cMonat) then begin MkDir(cZielPfad+cJahr+'\'+cMonat); end; if not DirectoryExists(cZielPfad+cJahr+'\'+cMonat+'\'+cTag) then begin MkDir(cZielPfad+cJahr+'\'+cMonat+'\'+cTag); end; CopyFile(PChar(cDateiPfad), PChar(cZielPfad+cJahr+'\'+cMonat+'\'+cTag+'\'+inttostr(n)+'.jpg'), true); zListe.Next; end; end;
Delphi-Quellcode:
wenn ich alles ausklammer läuft er die zListe durch
function DB_PFAD(cString : String): String;
var cSQL : String; begin Form1.zQuery1.SQL.Clear; cSQL := ' SELECT pfad FROM PfadBilder ' + ' Where md5 = "'+ cString + '" ORDER By geaendert asc' + ' Limit 1'; Form1.zQuery1.SQL.Add(cSQL); Form1.zQuery1.Open; Result := Form1.zQuery1.FieldByName('pfad').asString; end; wenn ich die funktion DB_PFAD aufrufe ist er beim ersten Durchlauf fertig also muss da muss irgendwas in der DB_PFAD funktion die Query zListe auf EOF setzen weil dann bricht er einfach ab aber ich weiss nicht warum weil er muss da mindestens 40 000 mal durchgehen tut er aber nicht sondern wenn er einmal DB_PFAD ist zListe auf EOF hmm kann da mal jemand einen blick reinwerfen ich weiss nicht wo der fehler ist |
Re: Problem mit Datenbank zugriff
Hallo,
du benutzt in DB_PATH Form1.zQuery1; Diese Query benutzt du ebenfalls in Button1Click Dein zListe := Form1.zQuery1; bringt nichts, es ist trotzdem die gleiche Query. Abhilfe: Nimm für DB_PATH eine zweite Query, und benenn die gleich mal anständig , also nicht zQuery2 Heiko |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:16 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz