AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Firebird in Netzwerk
Thema durchsuchen
Ansicht
Themen-Optionen

Firebird in Netzwerk

Ein Thema von clock50 · begonnen am 18. Aug 2009 · letzter Beitrag vom 21. Aug 2009
Antwort Antwort
Seite 3 von 6     123 45     Letzte »    
clock50

Registriert seit: 9. Nov 2005
Ort: Derenburg
183 Beiträge
 
Delphi 5 Professional
 
#21

Re: Firebird in Netzwerk

  Alt 19. Aug 2009, 06:36
So ich habe letzte Nacht 2 Stunden geschlafen um dan festzustellen, daß wir das Thema verfehlen. Es ist nicht nur das Update sonderen auch ein SQLQuery 'Insert into' geht ja auch nicht.

Delphi-Quellcode:
werte := '0, '+#39+KuNr+#39+', '+#39+inttostr(AnNr)+#39+', '+#39+DateToStr(DateTimePicker1.Date)+#39+', '+#39+Edit1.Text+#39+', '+#39+JvMemo1.Lines.Text+#39+', '+#39+'Text'+#39+', '+#39+'Text'+#39;
sql := 'Insert into ANGEBOT (STATE, KNR, ANR, DATUM, LDATUM, KTEXT, TEXT1, TEXT2) VALUES ('+Werte+') ';
DM.sSQL(sql);
ich mache noch nicht mal ein Commit. Er bleibt schon bei ExecQuery hängen

Delphi-Quellcode:
procedure TDM.sSql(Sql : String);
begin
 IBSQL1.SQL.Clear;
 IBSQL1.SQL.Text := Sql;
 IBSQL1.ExecQuery;
end;
Thomas
Man muß nicht alles wissen, man muß nur wissen in welchem Buch es geschrieben steht!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Firebird in Netzwerk

  Alt 19. Aug 2009, 06:39
Es ist aber toll, das du die Tipps hier komplett ignorierst!
Markus Kinzler
  Mit Zitat antworten Zitat
clock50

Registriert seit: 9. Nov 2005
Ort: Derenburg
183 Beiträge
 
Delphi 5 Professional
 
#23

Re: Firebird in Netzwerk

  Alt 19. Aug 2009, 06:50
Nein bitte nicht falsch verstehen ich habe alles auf IBDataSet umgestellt aber ich bekomme auch da das gleiche Problem und zusätzlich bekomme ich über meinen 'insert into' keinen Datensatz eingefügt. Ich habe in den Tabellen einen Generator auf ID und der scheint das nicht zu machen da ich die meldung bekomme ID muss einen Wert haben.

Einfügen mit IBDataSet:

Delphi-Quellcode:

werte := #39+''+#39+', '+#39+inttostr(ReNr)+#39+', '+#39+DateToStr(DateTimePicker1.Date)+#39+', '+#39+DateToStr(DateTimePicker2.Date)+'/'+#39+', '+#39+JvMemo1.Lines.Text+#39+', '+#39+'Text'+#39+', '+#39+'Text'+#39+', '+#39+'0'+#39+', '+#39+'0'+#39;
sql1 := 'Insert into RECHNUNG (KNR, RNR, DATUM, LDATUM, KTEXT, TEXT1, TEXT2, ZSKONTO, PSKONTO) VALUES ('+Werte+') ';
DM.IBDataSet1.Close;
DM.IBDataSet1.InsertSQL.Clear;
DM.IBDataSet1.InsertSQL.ADD(SQL1);
DM.IBDataSet1.Open;
DM.IBDataSet1.Insert;
DM.IBDataSet1.Post;
Thomas
Man muß nicht alles wissen, man muß nur wissen in welchem Buch es geschrieben steht!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Firebird in Netzwerk

  Alt 19. Aug 2009, 07:03
Der erste Tipp war Parameter zu verwenden. Der 2. wäre sich mit dem DataSet etwas auseinander zusetzten.
Fülle dort SelectSQL mit der Select-Abfrage aus.
Nun die entsprechenden DML-Skripte ( Insert, Update, Delete).
Nun verhält sich das DS wie eine Table.
Markus Kinzler
  Mit Zitat antworten Zitat
clock50

Registriert seit: 9. Nov 2005
Ort: Derenburg
183 Beiträge
 
Delphi 5 Professional
 
#25

Re: Firebird in Netzwerk

  Alt 19. Aug 2009, 07:10
Entschuldige, mit den Parametern habe ich mich noch nicht so beschäfitgt, aber ich weiß wie es geht. Wo finde ich den was über IBDataSet?
Thomas
Man muß nicht alles wissen, man muß nur wissen in welchem Buch es geschrieben steht!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Firebird in Netzwerk

  Alt 19. Aug 2009, 07:13
http://www.delphi-treff.de/tutorials...erbase/page/5/
Markus Kinzler
  Mit Zitat antworten Zitat
hoika

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

Re: Firebird in Netzwerk

  Alt 19. Aug 2009, 07:17
Hallo,

geh mal anders ran.
Starte dein Programm, danach IBExpert(z.B. die kostenlose personal).
Verbinde dich zur DB, mache ein Select.
Wenn das geht, liegt es an deinem Programm (oder den Zugriffsmethoden).

Und dann kann man weiterreden.

Noch zu den Transaktionen:
write
consistency


Das ist doch nicht alles, oder ?
Was ist mit WAIT / NOWAIT ?

Woher weisst du eigentlich, dass er beim Insert hängt,
hast du das mit dem Debugger geprüft ?


Heiko
Heiko
  Mit Zitat antworten Zitat
clock50

Registriert seit: 9. Nov 2005
Ort: Derenburg
183 Beiträge
 
Delphi 5 Professional
 
#28

Re: Firebird in Netzwerk

  Alt 19. Aug 2009, 09:31
ich habe das mit IBExpert gemacht. wenn IBExpert lauft kann ich mit meinem Progamm alles machen. jetzt bin ich am lesen mit IBDataSet.

Ich habe eine Procedur für das Ausführen des Insert. beim eintritt alles o.k. aber er kehrt nicht zurück. erst wenn ich das 2. Programm schließe habe ich wieder zugriff.
Thomas
Man muß nicht alles wissen, man muß nur wissen in welchem Buch es geschrieben steht!
  Mit Zitat antworten Zitat
hoika

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

Re: Firebird in Netzwerk

  Alt 19. Aug 2009, 09:46
Hallo,

Zitat:
wenn IBExpert lauft
nicht nur laufen, sondern auch eine deiner Queries absetzen
(ohne Commit).

Es sieht so aus, als ob die Transaction wait eingestellt hast.
Da sieht man wieder, wie blöd das mit dem AutoCommit ist.

Schreib mal vor dem Insert ein Transaction.StartTransaction (?)
und nach dem Insert explizit ein Transaction.Commit (nicht CommitRetaining.

Hast du auch ein TDBGrid mit dranhängen ?
Dann nehme für den DB-Code eine eigene Query/DataSet.


Heiko
Heiko
  Mit Zitat antworten Zitat
clock50

Registriert seit: 9. Nov 2005
Ort: Derenburg
183 Beiträge
 
Delphi 5 Professional
 
#30

Re: Firebird in Netzwerk

  Alt 19. Aug 2009, 10:11
Ich denke ich habe es so wie du meinst.
für alle Inserts und updats habe ich IBSQL, IBTable(jetzt auch IBDataSet) und IBQuery habe ich nur für die Anzeige (Listen, DBGrid) es werden über diese keine Updats oder Inserts gemacht.

Zitat:
Schreib mal vor dem Insert ein Transaction.StartTransaction (?)
und nach dem Insert explizit ein Transaction.Commit (nicht CommitRetaining.
das habe ich gemacht und dennoch ist es so. er beleibt hängen
Thomas
Man muß nicht alles wissen, man muß nur wissen in welchem Buch es geschrieben steht!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 6     123 45     Letzte »    


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 09:19 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