Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Firebird in Netzwerk (https://www.delphipraxis.net/138837-firebird-netzwerk.html)

hoika 19. Aug 2009 14:22

Re: Firebird in Netzwerk
 
Hallo,

deswegen ja auch #27.
OK, hätte ich fett machen sollen.


Heiko

mquadrat 19. Aug 2009 14:26

Re: Firebird in Netzwerk
 
Jep, und vielleicht groß und rot :D

Alfredo 19. Aug 2009 18:45

Re: Firebird in Netzwerk
 
Ich habe mir dein Beispiel angesehen.

:gruebel:


Vorschlag: Du nimmst Dir eine Stunde Zeit und ich erkläre Dir die Grundlagen
und lernst erst einmal in einem Formular Daten anzuzeigen und zu editieren.

Gruß
Alfred

hoika 19. Aug 2009 20:13

Re: Firebird in Netzwerk
 
Hallo,

ich weiss icht, warum immer diese furchtbaren Beispiele in Netz rumlungern.

Delphi-Quellcode:
procedure TForm1.commit;
begin
if IBTransaction1.InTransaction then
     begin
      IBTransaction1.Commit;
      IBTransaction1.StartTransaction;
     end;
  IBTable1.Open;
end;
Warum ist ständig eine Transaktion offen ?
OK, wegen dem DBGrid ;)
Das ist schlecht, gerade unter Firebird (MGA, aber lassen wird das).

Ich würde hier erst mal versuchen,
wegen dem DBGrid auf entweder 2 Transaktionen
T1: readonly, wenn es das bei IBX schon gibt, für alles, was am DBGrid hängt
T2: für Updates

oder TClientDataSet für das DBGrid (also lokaler Cache)
Nach jedem Update wird es wieder neu gefüllt.

Ich persönlich bin ein Feind des DBGrid ;)
Ich lade die Daten in ein normales TStringGrid (eigene TList).


Heiko

Alfredo 19. Aug 2009 23:18

Re: Firebird in Netzwerk
 
Zitat:

Ich persönlich bin ein Feind des DBGrid :wink:
DevExpress-Quantumgrid "Ich liebe es" :wink:

Gruß
Alfred

hoika 19. Aug 2009 23:36

Re: Firebird in Netzwerk
 
Hallo,

ich nicht,
zuviel drumrum .

Hatte es mal vor Jahren in der Planung,
aber zu viel Umstellungsaufwand.

Stehst du dort auf der Gehaltsliste ? ;)


Heiko

Alfredo 20. Aug 2009 14:47

Re: Firebird in Netzwerk
 
Zitat:

Stehst du dort auf der Gehaltsliste ? Wink
Leider nein.
Auf meine alten Tage nimmt mich doch keine EDV-Firma mehr :wink:

Ich hatte ein Datengrid gesucht, dass meine besonderen Wünsche
in Bezug auf Cursorsteuerung und Editfunktionen unterstützt.

Ich habe mir ein Erfassungsprogramm für Buchungssätze erstellt
und konnte nur durch Einstellungen im OI meine gesamten An-
forderungen für das Erfassen der Daten damit abdecken.

Ich hatte mir eine andere Darstellung des Summenfeldes vorge-
stellt und der Support hat mir dass ohne murren und Kosten
vollständig realisiert.

Gruß
Alfred

clock50 20. Aug 2009 16:00

Re: Firebird in Netzwerk
 
Hallo Leute, ich bin hier ganz schön am suchen und habe nun mal zeos probiert aber ich denke ich habe bei der installation was versaut. ich bekomme wenn ich im entwurf ein ZQuery auf Activ setze einen Fehler: Zugriffsverletzung bei Adresse 40003E88 in Modul 'Vcl50.dpl' Lesen von Adresse 00000000

Alfredo 20. Aug 2009 16:18

Re: Firebird in Netzwerk
 
Es gibt wohl mit Delphi 5 und bestimmten Zeosversionen Probleme.

Nimm doch für den Grundlagentest SQLdirect(SqlDirD5.exe).

Die Trial ist kostenlos und nervt nur mit einer Hinweismeldung,
die man wegklicken kann und läßt sich sehr einfach installieren.

Ich bekomme keine Vermittlungsprovisionen :wink:

Gruß
Alfred

clock50 20. Aug 2009 17:54

Re: Firebird in Netzwerk
 
so einfach ist das dann auch nicht, ich will das Programm dann auch nutzen. es ist ja nicht nur das Testen und Lernen.

Alfredo 20. Aug 2009 18:34

L
 
Es geht doch erst einmal darum, dass Du verstehst wie das alles
zusammenhängt.

Dann kannst Du doch erst entscheiden welche Komponente für Deine
Zwecke wirklich geeignet ist und Du wegen 145$(SQLDirect) oder
100$(IBDAC) viel Zeit in eine kostenlose Komponente(ZEOS) steckts,
vor allem bei dem aktuellen Dollarkurs.

Wenn das Programm für interne Zwecke ist, wirst Du feststellen,
das der eine Klick beim Start des Programms nun wirklich überhaupt
nicht stört.

Gruß
Alfred

mschaefer 20. Aug 2009 19:54

Re: Firebird in Netzwerk
 
N´abend

Ja Zeos braucht wirklich mehr Einarbeitungszeit. Em leichtesten ist wohl der Einstieg mit FIB, aber da ist Hansa wohl der
man fürs Marketing. Im nachfolgenden Beispiel ist so ein Mittelweg mit der UIB-Komponente genommen worden. Man muß sich
aber zudem mit der Generator / Trigger Logik für neue datensätze einarbeiten. Das braucht seine Zeit. SQLite ist sicher
leichter aber eben Kostenprlichtig.
Zugriff auf Firebird Server

Grüße in die Runde

Martin

mkinzler 20. Aug 2009 19:57

Re: Firebird in Netzwerk
 
SQLite ist nicht kostenpflichtig!

NickelM 21. Aug 2009 01:09

Re: Firebird in Netzwerk
 
Also ich greife mit IB Komponenten auch auf Firebird zu und bei Funkt alles Perfekt (Edit,Insert,Delete, usw)
Ich mache es folgendermassen:
Für jede Tabelle : TIBTable,TIBTransaction,TIDStoredProc (bei abfragen noch TIBQuery)
Die Datenbank hab ich mit dem EMS SGL Manager erstellt
Da ich zufaul bin hab ich mir zum Hinzufügen,Editieren eigene Procedure geschrieben:
Delphi-Quellcode:
//Neu
procedure Neu_Datensatz(Table : TIBTable);
begin
Table.Edit;
Table.Append;
Table.Edit;
end;
//Speichern
procedure Speichern_Datensatz(Table : TIBTable; Trans : TIBTransaction);
var Rec : Integer;
begin
Rec := Table.RecNo; //Datensatz merken
Table.Edit;
Table.Post;
IBDatabase1.ApplyUpdates([Table]);
Trans.Commit;
Trans.StartTransaction;
Table.Open; //Datensatzpos wird zurückgesetzt
Table.RecNo := Rec; //Wieder Datensatz auswählen
end;
//Löschen
procedure Loschen_Datensatz(Table : TIBTable; Trans : TIBTransaction);
begin
Table.Edit;
Table.delete;
Datenbank.IBDatabase1.ApplyUpdates([Table]);
Trans.Commit;
Trans.StartTransaction;
Table.Open;
end;
//Habe in der Firebird-Datenbank eine Stored Procedure drinnen, die im EMS SQL Manager für jede ID erstellt wird, so aktiviere ich sie
//ID Setzen
//Bei TIDTable bei BeforPost rein
procedure Set_ID(Table : TIBTable; Getter : TIBStoredProc);
begin
if (Table.State = dsInsert) then
begin
  Getter.ExecProc;
  Table.FindField('ID').AsInteger :=
  Getter.ParamByName('ID').AsInteger;
end;

end;
So.....so habe ich es hinbekommen, bei mir Funkts.
Hab auch Serverversion und übers Netzwerk gehts auch. :mrgreen:

Gruß NickelM

mkinzler 21. Aug 2009 05:32

Re: Firebird in Netzwerk
 
Aber wie schon öfters erwähnt sollte man Table-Komponenten für ein richtiges DBMS nicht verwenden.

NickelM 21. Aug 2009 09:02

Re: Firebird in Netzwerk
 
Warum nicht? :gruebel: :gruebel: :gruebel:
Bei mir funkts doch auch oder hat das mit irgendwas anderem zutun?

hoika 21. Aug 2009 09:17

Re: Firebird in Netzwerk
 
Hallo,

IBTable.Open macht ein Select * auf die Tabelle,
holt sich über mehrere Abfragen noch alle Infos zur Tabelle
(Felder, Indizes, Constraints).

Und das alles, obwohl du viell. nur ein INsert(Append) machen willst.

Ab einer bestimmten Datenmenge dauert das alles dann "etwas".

Falls es einen TIB_SQLMonitor gibt, kann man das schön ansehen.


Heiko


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:06 Uhr.
Seite 2 von 2     12   

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