Startseite ¦  was ist neu ¦  programmier tips ¦  indy artikel ¦  intraweb artikel ¦  informationen ¦  links ¦  interviews ¦  sonstiges
kylix ¦  tutorials ¦  online shop ¦  fotos ¦  Add&Win Gewinnspiel


Willkommen Gast. Bitte einloggen oder registrieren.
17.05.2012, 03:04:19
Übersicht Hilfe Suche Einloggen Registrieren

+  SwissDelphiCenter Forum
|-+  German Forums
| |-+  Datenbank Forum
| | |-+  ZeosLib
« vorheriges nächstes »
Seiten: [1] Drucken
Autor Thema: ZeosLib  (Gelesen 981 mal)
stOrM!
Sr. Member
****
Offline Offline

Beiträge: 265


« am: 26.11.2007, 17:08:49 »

Hi,
ich hab 2 kleine Probleme mit der ZeosLib.
Ich habe mir eine Funktion geschrieben um CSV Dateien in den MySql Server einzufügen. Problem was gerade entstanden ist ist das folgende:

Da ich das CSV File intern in eine Stringliste parse, frag ich mich gerade wie das InsertRecord bei der ZQuery Komponente aussehen muss, ich hatte das mal mit ADSQuery früher gemacht, da war es ganz simple:

ADSQuery.InsertRecord(ALines[0]);

Wie muss ich das beim ZQuery machen?
Der erwartet (Const Values :  array of TVarRec) ????????????????

Wie gesagt ich hab ne Stringliste wo die Sachen drin stehen also bräuchte ich die Möglichkeit wie oben beim ADSQuery zu inserten...

2. Problem ist folgendes:
Um das CSV zu parsen benutze ich unter anderem Folgende Procedure:

procedure Split(S, Delimiter: string; Strings: TStrings);

Der ich später den Delimeter ';' übergebe, das klappt auch super, nur leider nicht bei Tabs... Da macht er garnüx, bzw wird nicht geparsed ich hatte dem Delimeter #9 übergeben scheint aber nicht zu klappen....

Vielleicht weiss jemand einen besseren Weg, da ich leider 2 verschiedene Dateien parsen muss die eine ist benutzt Simikolons die andere Tab als Trenner...

Code:
procedure Split(S, Delimiter: string; Strings: TStrings);
var
  P, OldP: integer;
  Token: string;
begin
  if (Strings = nil) or (Length(S) = 0) or (Length(Delimiter) = 0) then
    Exit;
  P := Pos(Delimiter, S);
  OldP := 1;
  while P > 0 do
  begin
    Token := Copy(S, OldP, P-OldP);
    Strings.Add(Token);
    OldP := P + 1;
    P := PosEx(Delimiter, S, OldP);
  end;
  if P = 0 then
    Strings.Add(Copy(S, OldP, Length(S)));
end;
Gespeichert

Ich würde mich gerne mit Ihnen geistig duellieren aber ich sehe schon, Sie sind unbewaffnet.
Seiten: [1] Drucken 
« vorheriges nächstes »
Gehe zu:  


Einloggen mit Benutzername, Passwort und Sitzungslänge

Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006, Simple Machines LLC Prüfe XHTML 1.0 Prüfe CSS