Zeos zum bearbeiten einer JET und einer SQLite - Datenbank

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.

Re: Zeos zum bearbeiten einer JET und einer SQLite - Datenba

Beitragvon mschnell » 5. Apr 2017, 15:53 Re: Zeos zum bearbeiten einer JET und einer SQLite - Datenba

Michl hat geschrieben:Unter 7.2beta steht bei mir bei ZConnection1.Protocol ado zur Auswahl.

mschnell hat geschrieben:Zeos 7.2 (beta) installiert.
Woher hast du die Version bezogen?


https://sourceforge.net/projects/zeosli ... .2.0-beta/

-Michael
mschnell
 
Beiträge: 3143
Registriert: 11. Sep 2006, 09:24
Wohnort: Krefeld
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ) | 
CPU-Target: X32 / X64 / ARMv5
Nach oben

Beitragvon mschnell » 5. Apr 2017, 15:59 Re: Zeos zum bearbeiten einer JET und einer SQLite - Datenba

TraumTaenzerDieter hat geschrieben:Oder per SVN von hier
http://svn.code.sf.net/p/zeoslib/code-0 ... sting-7.2/


OK svn läuft...

Mit dieser 7.20 beta ist kann ich ado auch als Protokoll auswählen.

Wenn ich "test1" als "Database" eintrage und ""Connected" anclicke sage er mir
"[Microsoft] ODBC Driver Manager] Der Datenquellenname wurde nicht gefunden, und es wurde kein Standardtreiber angegeben. "

Später Edit:

AHHHH !!!
Man muss den ODBC-Manager als der User ausführen, der das Programm laufen lässt und nicht als Admin (wozu er einen aufzufordern scheint). Die Einstellungen sind also User-spezifisch.

Nun kann ich das "Connect" Hähchen setzen.


-Michael
mschnell
 
Beiträge: 3143
Registriert: 11. Sep 2006, 09:24
Wohnort: Krefeld
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ) | 
CPU-Target: X32 / X64 / ARMv5
Nach oben

Beitragvon mschnell » 5. Apr 2017, 16:21 Re: Zeos zum bearbeiten einer JET und einer SQLite - Datenba

af0815 hat geschrieben: Ich mache deswegen kleinere, besser nachvollziehbare Schritte.

Andreas


Da bin ich sehr dankbar für !!!

-Michael
mschnell
 
Beiträge: 3143
Registriert: 11. Sep 2006, 09:24
Wohnort: Krefeld
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ) | 
CPU-Target: X32 / X64 / ARMv5
Nach oben

Beitragvon theo » 5. Apr 2017, 17:47 Re: Zeos zum bearbeiten einer JET und einer SQLite - Datenba

Habe auch mal kurz den Test gemacht auf meinem alten Win2kServer in der VBox.
Mehr oder weniger wie hier beschrieben: http://wiki.freepascal.org/Zeos_tutoria ... -Anwendung
Aber mit ado auf mdb.
Funktioniert auf Anhieb prima, aber beim Schließen des Formulars bekomme ich immer eine EOleException:
Code: Alles auswählen
provider cannot derive parameter information and setparameterinfo has not been called

Kennt das jemand?

Lazarus 1.6.4 r54278 FPC 3.0.2 i386-win32-win32/win64
Zeos Trunk von heute.
theo
 
Beiträge: 7853
Registriert: 11. Sep 2006, 18:01

Beitragvon af0815 » 5. Apr 2017, 18:03 Re: Zeos zum bearbeiten einer JET und einer SQLite - Datenba

Einfach mal ignorieren, bis man sieht ob es wichtig ist :-)
ado ist ist ein 'neues' Ziel für den FPC. Deswegen auch die trunk (Ist bei Zeos schon fast die 'stable' Version).

BTW: Zur Info - ZEOS ist meines Wissens ürsprünglich als BDE (Boland Database Engine) entwickelt worden.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
af0815
 
Beiträge: 3158
Registriert: 7. Jan 2007, 10:20
Wohnort: Niederösterreich
OS, Lazarus, FPC: Win7/Linux (L stable FPC stable) per fpcup | 
CPU-Target: 32Bit (64Bit)
Nach oben

Beitragvon af0815 » 5. Apr 2017, 18:16 Re: Zeos zum bearbeiten einer JET und einer SQLite - Datenba

mschnell hat geschrieben:Man muss den ODBC-Manager als der User ausführen, der das Programm laufen lässt und nicht als Admin (wozu er einen aufzufordern scheint). Die Einstellungen sind also User-spezifisch.


Es hängt davon ab, welchen DSN du nimmst.

Benutzer DSN = hängt vom Benutzer ab
System-DSN = Allgemein gültig (Kann sein, das den nur der Admin einrichten kann)
Datei-DSN = Für eine Datei, kann von mehreren Benutzern verwendet werden

Ich verwende meist den Benutzer DSN ODER wie schon vom TraumTänzer geschrieben, kann man den auch als String zusammenstoppeln. Mit den DSN sagst du eigenlich, welcher Treiber mit welcher DB zusammenpasst, bzw. kannst das ganze dann in kurzer Schreibweise eintrage (Deswegen auch von mir bevorzugt, wenn es Probleme gibt).

Ok:
Wenn die Connection einmal da ist, so kann man für das erste eine TZTable, ein DataSource und ein DBGrid auf die Form setzen.

TZTabel bekommt die TZConnection verbunden, Datasource die TZTable und das DBGrid die Datasource verbunden. Im gegensatz zu SQLDB benötigen wir keine extra TTransaction .

Dann kann man sich bei der TZTable mit dem TableName spielen. nicht vergessen, immer wieder auf active schalten. Dann sieht man schon ein wenig im Grid.

Andreas
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
af0815
 
Beiträge: 3158
Registriert: 7. Jan 2007, 10:20
Wohnort: Niederösterreich
OS, Lazarus, FPC: Win7/Linux (L stable FPC stable) per fpcup | 
CPU-Target: 32Bit (64Bit)
Nach oben

Beitragvon theo » 5. Apr 2017, 22:59 Re: Zeos zum bearbeiten einer JET und einer SQLite - Datenba

af0815 hat geschrieben:Einfach mal ignorieren, bis man sieht ob es wichtig ist :-)


Genau, oder wie schon Karl Valentin empfahl: Am besten gar nicht erst ignorieren! :lol:
theo
 
Beiträge: 7853
Registriert: 11. Sep 2006, 18:01

Beitragvon mschnell » 6. Apr 2017, 09:37 Re: Zeos zum bearbeiten einer JET und einer SQLite - Datenba

af0815 hat geschrieben:Es hängt davon ab, welchen DSN du nimmst. ...

OK. Kompliziert aber verstehbar.

af0815 hat geschrieben:Wenn die Connection einmal da ist, so kann man für das erste eine TZTable, ein DataSource und ein DBGrid auf die Form setzen.

OK.

af0815 hat geschrieben:TZTabel bekommt die TZConnection verbunden, Datasource die TZTable und das DBGrid die Datasource verbunden. Im gegensatz zu SQLDB benötigen wir keine extra TTransaction .

OK.

af0815 hat geschrieben:Dann kann man sich bei der TZTable mit dem TableName spielen. .


Da stehen verschiedene "MS...." Tabellen zur Auswahl. Das ist vermutlich eine interne Vwerwaltung der Jet-Engine. Außerdem geibt es "Tabel1" Das ist vermutlich die einzige in dieser Datenbank (aus dem Nicht-Zeos "Access ODBC" Beispiel) definierte Tabelle.

af0815 hat geschrieben:nicht vergessen, immer wieder auf active schalten.

OK

af0815 hat geschrieben: Dann sieht man schon ein wenig im Grid.

Yeah !

Das sieht ja vielversprechend aus. (Ich stehe noch etwas auf Kriegsfuß mit diesen "Design-Time-Aktionen" und muss noch verstehen, wie ich das nutzbringend in meinem (einen) Projekt "Verkleinern der JPEGs in BLOBs in der Datenbank) einsetzen kann.

Aber wenn ich das Programm starte, bekomme ich die Fehlermeldung "Class TDBGrid not found".


-Michael
mschnell
 
Beiträge: 3143
Registriert: 11. Sep 2006, 09:24
Wohnort: Krefeld
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ) | 
CPU-Target: X32 / X64 / ARMv5
Nach oben

Beitragvon theo » 6. Apr 2017, 10:08 Re: Zeos zum bearbeiten einer JET und einer SQLite - Datenba

mschnell hat geschrieben:Aber wenn ich das Programm starte, bekomme ich die Fehlermeldung "Class TDBGrid not found".


"Class x not found" deutet oft auf ein Durcheinander zwischen Code und lfm hin.

Diese Meldung kannst du z.B. provozieren, wenn du ein DBGrid auf das Formular legst und dann im Code ", DBGrids" und "DBGrid1: TDBGrid;" manuell löschst.
Dann ist die Unit, welche das Formular braucht nicht mehr da. Es kompiliert aber trotzdem.
theo
 
Beiträge: 7853
Registriert: 11. Sep 2006, 18:01

Beitragvon mschnell » 6. Apr 2017, 10:33 Re: Zeos zum bearbeiten einer JET und einer SQLite - Datenba

TraumTaenzerDieter hat geschrieben:BTW: Ich verbinde zu einer .MDB ohne DSN!
Einfach zConnection.Protocol = ado
zConnection.database = Provider=MICROSOFT.JET.OLEDB.4.0;Data Source=Kompletter_Pfad\MeineMdb.mdb


Ich vermute, das werde ich brauchen, da im endgültigen Programm der Benutzer die Datenbank-Datei aussuchen können soll.

-Michael
mschnell
 
Beiträge: 3143
Registriert: 11. Sep 2006, 09:24
Wohnort: Krefeld
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ) | 
CPU-Target: X32 / X64 / ARMv5
Nach oben

Beitragvon mschnell » 6. Apr 2017, 10:43 Re: Zeos zum bearbeiten einer JET und einer SQLite - Datenba

theo hat geschrieben:
mschnell hat geschrieben:Aber wenn ich das Programm starte, bekomme ich die Fehlermeldung "Class TDBGrid not found".


"Class x not found" deutet oft auf ein Durcheinander zwischen Code und lfm hin.

Diese Meldung kannst du z.B. provozieren, wenn du ein DBGrid auf das Formular legst und dann im Code ", DBGrids" und "DBGrid1: TDBGrid;" manuell löschst.
Dann ist die Unit, welche das Formular braucht nicht mehr da. Es kompiliert aber trotzdem.


Du hast natürlich recht ! DBgrid ist im Unit code nicht erwähnt.

Wenn ich das DBGrid löche und einen TButton platziere kommt der Fehler mit "TButton".

Wenn ich ein neues Projekt anlege und einen Button platziere, auch. Was ist das denn ?!?!? (Wenn ich von Hand "Button1: TButton;" in die TForm1 Klasse schreibe, gehts. )

-Michael
mschnell
 
Beiträge: 3143
Registriert: 11. Sep 2006, 09:24
Wohnort: Krefeld
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ) | 
CPU-Target: X32 / X64 / ARMv5
Nach oben

Beitragvon theo » 6. Apr 2017, 11:11 Re: Zeos zum bearbeiten einer JET und einer SQLite - Datenba

mschnell hat geschrieben:Wenn ich das DBGrid löche und einen TButton platziere kommt der Fehler mit "TButton".

Wenn ich ein neues Projekt anlege und einen Button platziere, auch. Was ist das denn ?!?!? (Wenn ich von Hand "Button1: TButton;" in die TForm1 Klasse schreibe, gehts. )

Keine Ahnung. Eine verkorkste Installation?
theo
 
Beiträge: 7853
Registriert: 11. Sep 2006, 18:01

Beitragvon mschnell » 13. Apr 2017, 15:11 Re: Zeos zum bearbeiten einer JET und einer SQLite - Datenba

Ich habe Lazarus (Win 32) gelöscht und neu installiert. Jetzt geht es wieder.

Mit der Datenbank bin ich auch etwas weiter.

Durch die unglaubliche Design-Time Magie von Lazarus und Zeos konnte ich schonmal ein Text-Feld mit an die ZTable hängen, das mir dann wunderschön den gewünschten Feld-Inhalt der Zeile anzeigt, auf der im Grid der Cursor steht.

Nun brauche ich erstmal ein Textfeld mit einen Feldinhalt aus einer anderen Tabelle, die mit der angezeigten relational verbunden ist.

Also habe ich eine zweite ZTable und eine zweite Datasource erzeugt und die Datasource an die ZTable gehängt und die ZTable an die (einzige) Conection gehängt und in ZTable die andere Tabelle ausgesucht.

Dann ein zweites Textfeld an die zweite Datasource gehängt und den Feldnamen ausgesucht. Schon zeigt mir die IDE (und das laufende Programm) den Inhalt des Feldes im ersten Datensatz der Tabelle. Super ! (Und wie erwartet.) ... und noch keine Zeile Code geschrieben und erst recht kein SQL-Statement !!!! :D .

Nun möchte ich aber zunächst mal, dass der Cursor der zweiten Datasource (oder ist der in der ZTable ? ) automatisch auf den relational verbundenen Satz der zweiten Tabelle springt. Wie ich das magische System bisher kennengelernt habe, vermute ich, dass man dafür auch kinen Code schreiben muss...

Gruß und Dank,
-Michael
Zuletzt geändert von mschnell am 14. Apr 2017, 15:17, insgesamt 1-mal geändert.
mschnell
 
Beiträge: 3143
Registriert: 11. Sep 2006, 09:24
Wohnort: Krefeld
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ) | 
CPU-Target: X32 / X64 / ARMv5
Nach oben

Beitragvon af0815 » 14. Apr 2017, 05:17 Re: Zeos zum bearbeiten einer JET und einer SQLite - Datenba

Hallo Michael,

kannst du das Prg irgendwo hochladen, dann kann man dir etwas mehr an Input geben.

Github oder so

Andreas
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
af0815
 
Beiträge: 3158
Registriert: 7. Jan 2007, 10:20
Wohnort: Niederösterreich
OS, Lazarus, FPC: Win7/Linux (L stable FPC stable) per fpcup | 
CPU-Target: 32Bit (64Bit)
Nach oben

Beitragvon theo » 14. Apr 2017, 09:23 Re: Zeos zum bearbeiten einer JET und einer SQLite - Datenba

Und dann wäre auch noch hilfreich zu wissen, was momentan dein Ziel ist.
Wenn es immer noch um den Import der Access DB geht, benötigst du mMn die visuellen Komponenten überhaupt nicht.
Das verkompliziert die Sache unnötig.
theo
 
Beiträge: 7853
Registriert: 11. Sep 2006, 18:01

» Weitere Beiträge siehe nächste Seite »
VorherigeNächste

Zurück zu Datenbanken



Wer ist online?

Mitglieder in diesem Forum: Google [Bot] und 2 Gäste

porpoises-institution
accuracy-worried