AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Was mache ich falsch? Firebird rattert wie irre auf der HDD
Thema durchsuchen
Ansicht
Themen-Optionen

Was mache ich falsch? Firebird rattert wie irre auf der HDD

Ein Thema von Gecko · begonnen am 9. Jun 2007 · letzter Beitrag vom 12. Jun 2007
Antwort Antwort
Seite 5 von 6   « Erste     345 6      
Gecko
(Gast)

n/a Beiträge
 
#41

Re: Was mache ich falsch? Firebird rattert wie irre auf der

  Alt 11. Jun 2007, 18:07
Danke mkinzler, das funzt

Jetzt brauch ich nur noch kurz Hilfe wegen der Implementierung in Delphi
Habe das jetzt so:

Delphi-Quellcode:
storedproc.StoredProcName:='SP_SPAM_IU';
zconnection1.StartTransaction;

for I := 0 to sl.Count-1 do begin

storedproc.ParamByName('WORD').AsString:=sl.Strings[i];
storedproc.ExecProc;

end;

zconnection1.Commit;
Wenn ich das das erste mal ausführe, passiert nichts...Beim Zweiten mal kommt der Fehler: StoredProc Parameter 'WORD' nicht gefunden.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Was mache ich falsch? Firebird rattert wie irre auf der

  Alt 11. Jun 2007, 18:09
In diesem fall kannst du auch eine normale abfrgae verwenden:
select * from SP_SPAM_IU ( <Param>);
Markus Kinzler
  Mit Zitat antworten Zitat
Gecko
(Gast)

n/a Beiträge
 
#43

Re: Was mache ich falsch? Firebird rattert wie irre auf der

  Alt 11. Jun 2007, 18:31
Danke, für sich geht das ,einmal muss ich aber noch nerven:

Das ganze will nicht so ganz mit meiner Transaktion zusammen, es wird immer nur der allererste übergebene Begriff in die SPAM-DB geschrieben,
also der für i=0..welchen grund hat das?

Delphi-Quellcode:
zconnection1.StartTransaction;
qrsecond.SQL.Text:='select * from SP_SPAM_IU (:WORD)';

for I := 0 to sl.Count-1 do begin

qrsecond.ParamByName('WORD').AsString:=sl.Strings[i];
qrsecond.Open;

end;
zconnection1.Commit;
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Was mache ich falsch? Firebird rattert wie irre auf der

  Alt 11. Jun 2007, 18:34
Nimm statt .Open .ExecSQL, da du ja auf den Rückgabewert nicht zugreifst.
Markus Kinzler
  Mit Zitat antworten Zitat
Gecko
(Gast)

n/a Beiträge
 
#45

Re: Was mache ich falsch? Firebird rattert wie irre auf der

  Alt 11. Jun 2007, 18:36
Zitat von mkinzler:
Nimm statt .Open .ExecSQL, da du ja auf den Rückgabewert nicht zugreifst.
Das hatte ich schon probiert. Da passiert dann aber schlechtweg garnichts.
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#46

Re: Was mache ich falsch? Firebird rattert wie irre auf der

  Alt 11. Jun 2007, 21:04
>> sl.Strings[i];

Übergibst du überhaupt alle Texte ?


Heiko
Heiko
  Mit Zitat antworten Zitat
Gecko
(Gast)

n/a Beiträge
 
#47

Re: Was mache ich falsch? Firebird rattert wie irre auf der

  Alt 11. Jun 2007, 21:26
Zitat von hoika:
>> sl.Strings[i];

Übergibst du überhaupt alle Texte ?


Heiko
Ja, also mit nem normalen Insert gehts
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#48

Re: Was mache ich falsch? Firebird rattert wie irre auf der

  Alt 12. Jun 2007, 08:00
Hallo,

die SP ist in Ordnung (tested by myself),
beim Aufruf per ExecProc könnte man allerdings das Suspend weglassen.

Hast du mal in der Tabelle selbst nachgesehen,
ob die richtigen Werte drinstehen ?

Und schau dir mal an, ob die SP auch wirklich so
drinsteht wie hier gezeigt.
Viell. hast du ja die SP nicht richtig geändert?


Heiko
Heiko
  Mit Zitat antworten Zitat
Gecko
(Gast)

n/a Beiträge
 
#49

Re: Was mache ich falsch? Firebird rattert wie irre auf der

  Alt 12. Jun 2007, 17:07
Hallo,


Delphi-Quellcode:
for I := 0 to sl.Count-1 do begin
qrsecond.SQL.Text:='select * from SP_SPAM_IU (:WORD)';
qrsecond.ParamByName('WORD').AsString:=sl.Strings[i];
qrsecond.Open;
end;
zconnection1.Disconnect;
hiermit funktioniert es. An zwei Dingen bin ich jedoch noch am rätseln:

Es geht nicht ohne das Disconnect! Die Daten sind erst nach dem Disconnecten in der DB, was mich sehr stört. Ich will ja nicht dauernd re-connecten.
Weiss jemand warum?

Das zweite was mich stört wäre das es eben keine transaktion ist und firebird bei vielen einträgen wieder auf der HDD rattern wird
Ich hatte ja oben schon einen Transaktionscode gepostet, mit dem wird aber immernur der alle erste eintrag in die DB gepostet
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Was mache ich falsch? Firebird rattert wie irre auf der

  Alt 12. Jun 2007, 18:26
Das ist ein Problem der Transaktionssteuerung von ZEOS.
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 5 von 6   « Erste     345 6      


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 16:11 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