![]() |
Datenbank: MySQL (PHPmyAdmin) • Version: ?? • Zugriff über: TTable
SQL-Sanduhr bei Datenübermittlung bleibt bestehen
Hallo zusammen,
Ich muss für die Schule ein Programm schreiben, das die Schülerdaten (name, gwählte Kurse, Klasse) in eine PHPMyAdmin-Sql-DB über nimmt. Mein Problem: Der Quelltext funktioniert nicht richtig, die Daten werden zwar (meines Wissens) vollständig übertragen, ABER die SQL-Sanduhr welche bei der Datenübertragung angezeigt wird, verschwindet nicht (ca. 90 Datensätze werden eingefügt). Sonst tritt kein Fehler auf! Daten werden Zeilenweise über eine Memo im Format: Nr.;Name;Vorname;Klasse;LK 1;LK 2;GK 1;GK 2;GK 3;GK 4;GK 5;GK 6;GK 7;GK 8;GK 9 eingelesen. Bsp.:
Code:
Hier Mein Quelltext:
snr;Name;Vorname;Kl;LK 1;LK 2;GK 1;GK 2;GK 3;GK 4;GK 5;GK 6;GK 7;GK 8;GK 9
1;Mustermann;Martin;klA02;DEU;TE;EN;BK;WL/;GE;MA;PHY;INF;SP; 2;Musterfrau;Max;klB02;MAT;IS;DE;EN;RU;BK;WL/;GE;CH;IV;EP
Delphi-Quellcode:
Kann mir jemand Helfen??
procedure TfMain.btnImportSClick(Sender: TObject);
var i,k,z : integer; var ds,temp : string; begin If memoS.Text <> '' Then Begin if cbS1.Checked // 1. Zeile überspringen?? then i := 1 else i := 0; While i <= memoS.Lines.Count Do //für jede Zeile If (memoS.Lines[i]<> '') AND (memoS.Lines[i] <> ' ') //Wenn Zeile nicht Leer Then BEGIN tabS.Append; z := 0; ds := memoS.Lines[i]; // Datensatz = Zeile If ds[length(ds)] <> ';' //Wenn Zeile nicht mit ";" abgeschlossen, ";" anhängen Then ds := ds +';' ; temp := ''; For k := 0 to length(ds) Do Begin If ds[k] = ';' Then begin Case z of 1 : If Temp <> '' //Beginnt mit 1, da SNR ignoriert wird Then tabS.FieldValues ['name'] := temp; 2 : If Temp <> '' Then tabS.FieldValues ['vorname'] := temp; 3 : If Temp <> '' Then tabS.FieldValues ['klasse'] := temp; 4 : If Temp <> '' Then tabS.FieldValues ['lk1'] := temp; 5 : If Temp <> '' Then tabS.FieldValues ['lk2'] := temp; 6 : If Temp <> '' Then tabS.FieldValues ['gk1'] := temp; 7 : If Temp <> '' Then tabS.FieldValues ['gk2'] := temp; 8 : If Temp <> '' Then tabS.FieldValues ['gk3'] := temp; 9 : If Temp <> '' Then tabS.FieldValues ['gk4'] := temp; 10 : If Temp <> '' Then tabS.FieldValues ['gk5'] := temp; 11 : If Temp <> '' Then tabS.FieldValues ['gk6'] := temp; 12 : If Temp <> '' Then tabS.FieldValues ['gk7'] := temp; 13 : If Temp <> '' Then tabS.FieldValues ['gk8'] := temp; 14 : If Temp <> '' Then tabS.FieldValues ['gk9'] := temp; end; temp:= ''; inc(z); end Else if ds[k]<> '"' then temp := temp + ds[k]; End; //Passwort erstellen tabS.FieldValues ['passwort'] := 'katze'; //Platzhalter // Ende Passworerstellung tabS.Post; inc(i); END; End; end; danke im Vorraus |
Re: SQL-Sanduhr bei Datenübermittlung bleibt bestehen
hallo
ein fehler ist mir sofort aufgefallen, weil der mir auch oft passiert:
Delphi-Quellcode:
muss heissen:
While i <= memoS.Lines.Count Do
Delphi-Quellcode:
probier das mal aus und gib wieder bescheid.
While i < memoS.Lines.Count -1 Do
gruessle |
Re: SQL-Sanduhr bei Datenübermittlung bleibt bestehen
habe zuhause keine MySQL-Treiber für ODBC,
ich muss den erst downloaden danke für deine Antwort (vorerst) Aber wenn man
Delphi-Quellcode:
,dann ist man ja beim Vorletzten, oder?
i [b]<[/b] Memo.lines [u]-1[/u]
|
Re: SQL-Sanduhr bei Datenübermittlung bleibt bestehen
[OT]
Zitat:
PHPMyAdmin ist nur eine Oberfläche zur Administration [/OT] |
Re: SQL-Sanduhr bei Datenübermittlung bleibt bestehen
Zitat:
also: 0 bis (10 -1) sind 10 durchläufe. gruessle |
Re: SQL-Sanduhr bei Datenübermittlung bleibt bestehen
Hallo,
etwas OT - aber Count funktioniert so, das eine Datenmenge so lange durchlaufen wird bis sie alle ist und das wird daran erkannt, dass eben kein Datenmenge mehr da ist. Daher ist der Wert Count immer um eines Größer als die eigentliche Datenmenge. Zitat:
|
Re: SQL-Sanduhr bei Datenübermittlung bleibt bestehen
Danke für eure Hilfe! Es Geht jetzt endlich! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14: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