Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Datenerfassung mit Firebird Datenbank (https://www.delphipraxis.net/129737-datenerfassung-mit-firebird-datenbank.html)

mkinzler 25. Feb 2009 14:08

Re: Datenerfassung mit Firebird Datenbank
 
Ich würde die BDE nicht mehr verwenden. So geht es imho auch nicht, weil man für den Zugriff auf FB/IB m.W. (verblasste Erinnerung) unbedingt einen Alias anlegen muss.

Jens Hartmann 25. Feb 2009 14:11

Re: Datenerfassung mit Firebird Datenbank
 
Das Problem, was ich habe, ich habe ein Buch Datenbankprogrammierung mit Dlphi WIN32.

Da ist das so beschrieben. Da wird die Firebird nicht drin behandelt. Wie mache ich das denn dann.

mkinzler 25. Feb 2009 14:43

Re: Datenerfassung mit Firebird Datenbank
 
-IBX
-Zeos
-IBDAC
-FIBPlus
-FBLIB
-...

Jens Hartmann 25. Feb 2009 14:56

Re: Datenerfassung mit Firebird Datenbank
 
Hallo Markus,

ich versteh ja, wenn Du vielleicht genervt von mir bist, aber Du bist nicht verpflichtet mir antworten zu geben, ich möchte niemanden darum bitten mir ein Programm zu schreiben, aber irgendwie vieleicht mal eine antwort, mit der man als Anfänger auch was anfangen kann.

Ich bin stehts bemüht zu lesen, versuche immer wenn es möglich ist auch anderen Mitgliedern zu helfen,

nur 1 Beispiel

Und ich habe das schon mal geschrieben, es ist nicht persönlich gemeint, aber ich habe momentan das gefühl, das es dich nervt mir zu helfen.

Wenn das so ist dann lass es, ansonsten wäre ich froh über eine antwort, die mich auch irgendwie mit Informationen füttert.

Einfach z.B. mal ein Hinweis, das das Komponenten sind oder so, wie man die Anwenden kann oder wo ich da irgendwelche Info´s zu bekomme.

mkinzler 25. Feb 2009 15:02

Re: Datenerfassung mit Firebird Datenbank
 
Zitat:

Und ich habe das schonmal geschreiben, es ist nicht persönlich gemeint, aber ich habe momentan das gefühl, das es dich nervt mir zu helfen.
Nein, es ist meine Art.
Zudem solltest du zu jeder der genannten Komponenten hier im Forum oder im Internet vieles finden.

-IBX ist bei Delphi dabei inkl. Demos
Z.B. zu Zeos: http://www.delphi-treff.de/tutorials...-und-firebird/
IBDAC
FIBPlus

Jens Hartmann 25. Feb 2009 15:13

Re: Datenerfassung mit Firebird Datenbank
 
Dann Sorry, ich werde dann schon mit deiner Art klar.

Das Tutorial habe ich vorher schon gefunden, und werde es jetzt mal durcharbeiten.

Es ist halt nur anstrengend für mich, wenn man schon den ganzen Tag ließt und versucht eine Verbindung zur Datenbank herzustellen, und man halt noch nicht so richtig weiter ist.

Jens Hartmann 25. Feb 2009 15:21

Re: Datenerfassung mit Firebird Datenbank
 
Kann es sein, das die Zeos Komponente nur bis Delphi 7 geht.

Kann ich die dann in Delphi2007 einbinden?

fkerber 25. Feb 2009 15:23

Re: Datenerfassung mit Firebird Datenbank
 
Hi!

Schau mal hier:
http://www.delphipraxis.net/internal...t.php?p=706874


Ciao, Frederic

Jens Hartmann 25. Feb 2009 15:57

Re: Datenerfassung mit Firebird Datenbank
 
Danke, habe die Komponente jetzt komplett installiert, und werde mich jetzt mal in diese einarbeiten. :thumb:

Jens Hartmann 25. Feb 2009 19:13

Re: Datenerfassung mit Firebird Datenbank
 
Liste der Anhänge anzeigen (Anzahl: 1)
Habe jetzt mal das Tutorial durchgearbeitet und versuche gerade eine Verbindung zu meiner Datenbank aufzubauen,

Delphi-Quellcode:
procedure TFUebung.FormCreate(Sender: TObject);
var
i : integer;
begin
  {Datenbankverbindung aufbauen über ZConnection (ZEOS)}
  ConSecurdat.Connect;
  QrySecurdat.Open;
Leider bekomme ich beim kompilieren, folgende Fehlermeldung

mkinzler 25. Feb 2009 19:19

Re: Datenerfassung mit Firebird Datenbank
 
Das Programm findet die Client.Dll nicht. Diese muss sich im Verzeichnis der Exe oder im Systempfad liegen.

Chemiker 25. Feb 2009 19:27

Re: Datenerfassung mit Firebird Datenbank
 
Hallo Jens Hartmann,

selber benutze ich eine andere Komponentensammlung, aber das sieht so aus das Du nicht den LibraryName bei Database eingetragenhast.

Sie liegt im Path von Firebird: C:\Programme\Firebird\Firebird_2_0\bin

Bis bald Chemiker

Jens Hartmann 25. Feb 2009 19:32

Re: Datenerfassung mit Firebird Datenbank
 
Liste der Anhänge anzeigen (Anzahl: 1)
Der Fehler ist zwar jetzt weg, aber schon habe ich den nächsten,

Ich beschreibe mal kurz, was ich jetzt gemacht habe. Ich habe auf mein Formular ein TZConnection Komponente und eine TZQuery Komponente gelegt.

Die TZConnection, habe ich wie folgt eingestellt.

Database : Securdat.fdb
Name : ConSecurdat
Passwort : masterkey
Protocol : Firebird-2.0 (obwohl ich Firebird 2.1 habe, das konnte man aber nicht auswählen)
ReadOnly : False
TransactionIsolationLevel : tiReadCommitted
User : SYSDBA

Die TZQuery

Connection : ConSecurdat
Name : QrySecurdat
SQL : SELECT * FROM MB256PLUS

Leider bekomme ich jetzt beim kompilieren, den folgenden Fehler...

mkinzler 25. Feb 2009 19:35

Re: Datenerfassung mit Firebird Datenbank
 
Hast du persistente Zugriffsfelder eruegt?

Jens Hartmann 25. Feb 2009 19:39

Re: Datenerfassung mit Firebird Datenbank
 
Da muss ich jetzt absolut passen, was heißt das.

mkinzler 25. Feb 2009 19:45

Re: Datenerfassung mit Firebird Datenbank
 
Hast du einen Doppelklick auf die Query-Komponente gemacht und dort Felder hinzugefügt?

Jens Hartmann 25. Feb 2009 20:04

Re: Datenerfassung mit Firebird Datenbank
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ja habe ich, und zwar so

mkinzler 25. Feb 2009 20:06

Re: Datenerfassung mit Firebird Datenbank
 
Verwendest du casesensitive Feldnamen?

Jens Hartmann 25. Feb 2009 20:11

Re: Datenerfassung mit Firebird Datenbank
 
Was heißt das,

wenn du meinst, das die Namen identisch sind, dann ja

mkinzler 25. Feb 2009 20:16

Re: Datenerfassung mit Firebird Datenbank
 
Casesenstive heiist das nach Groß-/Kleinschreibung unterschieden wird

Jens Hartmann 25. Feb 2009 20:51

Re: Datenerfassung mit Firebird Datenbank
 
Eigendlich nicht, außerdem habe ich ja auf die Schreibweise geachtet, die stimmt.

Ist das mit dem Befehl

Delphi-Quellcode:
QrySecurdat.Open;
den in Ordnung

mkinzler 25. Feb 2009 20:54

Re: Datenerfassung mit Firebird Datenbank
 
Im Feldeditor steht das Feld aber anders geschrieben, wie in der Fehlermeldung. Wie heisst das Feld genau?

Jens Hartmann 25. Feb 2009 21:23

Re: Datenerfassung mit Firebird Datenbank
 
Das Feld heißt LfdNr und ist doch Im Feldeditor indentisch mit der Fehlermeldung

[EDIT] Ich korrigiere, Jetzt funktioniert es, LfdNr hatte in der Datenbank einen Punkt (LfdNr.)

Jens Hartmann 25. Feb 2009 22:49

Re: Datenerfassung mit Firebird Datenbank
 
So jetzt muss ich einfach nur nochmal fragen, ob das jetzt alles so richtig ist.

Ich habe Verbindung zur Datenbank und kann sogar die Daten in einem DBGrid sehen.

Ist es denn dann jetzt richtig das ich folgenden Weg gegangen bin...

Die TZConnection, habe ich wie folgt eingestellt.

Database : Securdat.fdb
Name : ConSecurdat
Passwort : masterkey
Protocol : Firebird-2.0 (obwohl ich Firebird 2.1 habe, das konnte man aber nicht auswählen)
ReadOnly : False
TransactionIsolationLevel : tiReadCommitted
User : SYSDBA

Die TZQuery

Connection : ConSecurdat
Name : QrySecurdat
SQL : SELECT * FROM MB256PLUS

Dann habe ich eine DataSource Komponente genommen und die wie folgt eingestellt.

DataSet : QrySecurdat

Und ein DBGrid

welches ich auf DataSource1 gestellt habe.

mkinzler 26. Feb 2009 05:38

Re: Datenerfassung mit Firebird Datenbank
 
Ja, wobei das
SQL-Code:
select * from ...
ohne Beschränkung in der Praxis nicht verwendet werden sollte

Jens Hartmann 26. Feb 2009 08:14

Re: Datenerfassung mit Firebird Datenbank
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ja, das habe ich gelesen, ich habe allerdings jetzt noch das Problem, wenn ich die
SQL Abfrage anpassen, bekomme ich wieder eine Fehler Meldung, das die Felder nicht gefunden werden.

Habe es z.B. hiermit ausproniert.

SQL-Code:
SELECT * FROM MB256PLUS WHERE (EREIGNIS='Extern Scharf')
Hierbei wird die Abfrage korrekt durchgeführt, und nur alle Ereignisse mit dem Text Extern Scharf angezeigt,

führe ich
SQL-Code:
SELECT EREIGNIS FROM MB256PLUS
Wird mir nicht das gewünschte, und zwar die Spalte EREIGNIS gezeigt, es kommt folgender Fehler

DeddyH 26. Feb 2009 09:12

Re: Datenerfassung mit Firebird Datenbank
 
Das ist ja eine andere Tabelle und ein anderes Feld. Bist Du sicher, dass Du die richtige Query ausführst bzw. das richtige SQL drinsteht?

mkinzler 26. Feb 2009 09:55

Re: Datenerfassung mit Firebird Datenbank
 
Wenn verschiedene Abfragen über die selbe Query-Komponente ausgeführt werden, sollte man auf die persistenten Zugriffsfelder verzichten und über
Delphi-Quellcode:
<Query>.FieldByName('<Feldname>').Value
bzw.
Delphi-Quellcode:
<Query>.FieldByName('<Feldname>').as<Typ>
auf die Felder zugreifen

Jens Hartmann 26. Feb 2009 10:10

Re: Datenerfassung mit Firebird Datenbank
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich arbeite mit einer Datenbank und einer Query sowie mit einer Tabelle, ich habe mal mein Übungsprojekt angehangen.

Vieleicht ihr ja daran mir mal beschreiben, was ich noch anders machen sollte

Jens Hartmann 26. Feb 2009 15:42

Re: Datenerfassung mit Firebird Datenbank
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe mein Übungsprogramm noch ein bißchen umgebaut und oben im Post ausgetauscht.

Irgendwas mache ich noch falsch und habe ich auch scheinbar noch nicht verstanden.

Wenn ich folgenden Befehl sende, bekomme ich unten im Anhang folgenden Fehler

SQL-Code:
INSERT INTO MB256PLUS (LfdNr, Datum, Uhrzeit, Ereignis, Teilnehmer, Bereich)
VALUES ('1234','12.12.2009','12:23:12', 'Extern Scharf', 'Schalteinrichtung','Verwaltung');
[EDIT] Ich frage mich, warum er in der Fehlermeldung LFDNR Groß schreibt

mkinzler 26. Feb 2009 15:55

Re: Datenerfassung mit Firebird Datenbank
 
Wie heisst den jetzt das Feld genau?

DeddyH 26. Feb 2009 15:58

Re: Datenerfassung mit Firebird Datenbank
 
Zitat:

Zitat von Jens Hartmann
[EDIT] Ich frage mich, warum er in der Fehlermeldung LFDNR Groß schreibt

Schau mal hier: http://www.firebirdfaq.org/faq76/

Jens Hartmann 26. Feb 2009 17:12

Re: Datenerfassung mit Firebird Datenbank
 
Das Feld heißt so wie im SQL-Code, die Datenbank befindet sich auch oben im Post

[EDIT] Hallo Detlef, also wenn ich das mit meinem bißchen Englisch richtig Übersetz habe, muss ich meine Befehle in diese zwei Hochzeichen setzte.

Habe ich probiert, geht auch nicht.

SQL-Code:
INSERT INTO ''MB256PLUS'' (''LfdNr'','' Datum'', ''Uhrzeit'','' Ereignis'', ''Teilnehmer'', ''Bereich'')
VALUES ('1234','12.12.2009','12:23:12', 'Extern Scharf', 'Schalteinrichtung','Verwaltung');

DeddyH 26. Feb 2009 17:22

Re: Datenerfassung mit Firebird Datenbank
 
Du musst die nur dann in entsprechender Groß- und Kleinschreibung angeben, wenn Du bei der Definition der Felder die entsprechenden Bezeichner in Anführungszeichen gesetzt hast. Nur dann werden sie case-sensitive behandelt.

mkinzler 26. Feb 2009 17:30

Re: Datenerfassung mit Firebird Datenbank
 
Deshalb ja meine Frage: Wie heisst das Feld genau?

Jens Hartmann 26. Feb 2009 17:33

Re: Datenerfassung mit Firebird Datenbank
 
Das versteh ich jetzt nicht, jetzt habt Ihr mich total durcheinander gemacht. :wall:


Allso mal langsam, :gruebel:

In meiner Datenbank sind die Bezeichnungen so:

Tabellenname : MB256PLUS
Feldname : ID
Feldname : LfdNr
Feldname : Datum
Feldname : Uhrzeit
Feldname : Ereignis
Feldname : Teilnehmer
Feldname : Bereich

Genau so hatte ich es doch auch in der Abfrage, ODER? :gruebel:

mkinzler 26. Feb 2009 17:41

Re: Datenerfassung mit Firebird Datenbank
 
Nei muss dann so heissen:
SQL-Code:
NSERT INTO MB256PLUS ("LfdNr", "Datum", "Uhrzeit", "Ereignis", "Teilnehmer", "Bereich")
VALUES ('1234','12.12.2009','12:23:12', 'Extern Scharf', 'Schalteinrichtung','Verwaltung');

Jens Hartmann 26. Feb 2009 17:52

Re: Datenerfassung mit Firebird Datenbank
 
Ja , so hatte ich das eben auch schon mal alles, dann kommt aber die Fehlermeldung

Cannot retrieve Resultset data.

Ich habe schon massig Version probiert, ich vermute eher einen Grundlegenden Fehler gemacht zu haben, den ich nicht sehe

Satty67 26. Feb 2009 17:54

Re: Datenerfassung mit Firebird Datenbank
 
Oben sieht es so aus, dass Du zwei einzelne Apostroph genommen hast, statt dem Anführungszeichen

" <> ' '

Finde es irgenwie beruhigend, das Du über die Steine stolperst, über die ich vor ein paar Tagen gestolpert bin (selber SQL Anfänger)

mkinzler 26. Feb 2009 17:55

Re: Datenerfassung mit Firebird Datenbank
 
Zeig mal den entsprechenden Delphicode ( in dem du den query setzt)


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:58 Uhr.
Seite 2 von 3     12 3      

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