Umfrage: Beispiele mit Datenbanken

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
charlytango
Beiträge: 843
Registriert: Sa 12. Sep 2015, 12:10
OS, Lazarus, FPC: Laz stable (2.2.6, 3.x)
CPU-Target: Win 32/64, Linux64
Wohnort: Wien

Umfrage: Beispiele mit Datenbanken

Beitrag von charlytango »

Hi,
aus aktuellem Anlass werfe ich mal die Frage in die Runde für diejenigen die mit Daten(banken) arbeiten :

Wie oft habt ihr euch geärgert dass Beispiele mit DB-Zugriffen nicht funktionierten?

Einerseits weil man die im Beispiel verwendete DB nicht installiert hat oder auch weil der Aufwand das Beispiel zum Laufen zu bringen so hoch war dass man es ganz bleiben hat lassen.

Macht es Sinn sich da auf eine Art Beispiel-DB zu einigen die keinen oder nur ganz geringen Aufwand haben?
Ich denke da an DBs die man nicht installieren muss sondern durch Kopieren nutzen kann (zb SQLite, meinetwegen auch ZMSQL oder Standard-Datenmodule die diverse Tabellen zur Verfügung stellen etc ??). Möglicherweise auch schon befüllt mit Standarddaten die die wichtigsten Anwendungsfälle abdecken. (1:n, n:m). Macht so etwas Sinn und bringt man die Komponentenentwickler dazu die dann auch zu benutzen?

Ich denke auch im Sinne eines besseren Bekanntheitsgrades wäre es fein wenn DB-Beispiele quasi Out Of The Box funktionieren indem auch die jeweiligen Zugriffsbibliotheken dabei sind. Ist doch frustrierend ein Beispiel zu öffnen das nicht funktioniert -- macht kein gutes Bild.

LG

Benutzeravatar
theo
Beiträge: 10468
Registriert: Mo 11. Sep 2006, 19:01

Re: Umfrage: Beispiele mit Datenbanken

Beitrag von theo »

charlytango hat geschrieben:
Sa 22. Okt 2022, 09:39
Ich denke auch im Sinne eines besseren Bekanntheitsgrades wäre es fein wenn DB-Beispiele quasi Out Of The Box funktionieren indem auch die jeweiligen Zugriffsbibliotheken dabei sind. Ist doch frustrierend ein Beispiel zu öffnen das nicht funktioniert -- macht kein gutes Bild.
Ich verstehe schon was du meinst, aber z.B. bei Linux liefert man solche Zugriffsbibliotheken eigentlich nicht mit der Anwendung mit und die liegen auch nicht im Anwendungsverzeichnis.
Wenn schon, wäre es eine Paketabhängigkeit der IDE, aber wenn die IDE das nicht notwendig braucht, sehe ich da wenig Chancen.

Vielleicht könnte man die Anforderungen/Voraussetzungen in den Beispielen zugänglicher beschreiben oder so.

Just my 2 ¢

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Umfrage: Beispiele mit Datenbanken

Beitrag von af0815 »

charlytango hat geschrieben:
Sa 22. Okt 2022, 09:39
Wie oft habt ihr euch geärgert dass Beispiele mit DB-Zugriffen nicht funktionierten?

Einerseits weil man die im Beispiel verwendete DB nicht installiert hat oder auch weil der Aufwand das Beispiel zum Laufen zu bringen so hoch war dass man es ganz bleiben hat lassen.
Ich habe durch die Arbeiten an den LazInfos etwas Erfahrung damit sammeln können.

Problem A:
Die Syntax zwischen den SQL-basierenden Systemen ist zu unterschiedlich. Ich rede da nicht mal von Desktopdatenbanken. Jede DB hat syntaktische Unterschiede. Auch bei Kleinigkeiten wie zB. einen automatischen PK oder den Datentypen oder der Syntax um eine DB zu erstellen.

Problem B:
Die Treiber sind je nach Betriebssystem und Bitness unterschiedlich. Manche einfachen SQL DBs kommen ohne Treiber aus, manche müssen über das Betriebssystem installiert werden - und da kommt es genau drauf an, welches man hat - mache lassen sich ohne entsprechende Rechte nicht installieren.

Problem C:
Es gibt verschiedene Pakete in Lazarus die die DBs unterschiedlich behandeln. Beispiel SqlDB <-> ZEOS.

Problem D:
Viele Beispiele sind für Delphi, C# oder whatever, mit ganz anderen Paketen und Syntax, die es für Lazarus nicht gibt.

Problem E:
Das Problem, was vor dem Bildschirm sich befindet und sich auf SQL nicht auskennt, aber glaubt wenn man 'SELECT * FROM TestDB' schreiben kann ist man der große Hero.

Das habe ich für mich identifiziert. :mrgreen: Der Aufwand für Beispiele die sicher funktioniere und auf mehreren Plattformen über längere Zeit funktionieren ist nicht gerade wenig.


BTW: Wenn mir einer 'SELECT * FROM' schreibt, diskutiere ich gar nicht mehr weiter. Nicht genügend setzen. Das zeigt von einer Einstellung die auf div. schulischen Plattformen vorherrscht, etwas zu schreiben, wo ich mir keine Gedanken mache, außer das ich vielleicht eine positive Note für den Zweck bekomme und dann auf die Praxis losgelassen wird. Das heisst das sich derjenige gar nicht mit Datenbanken beschäftigt hat und auch nicht erkannt hat, das das die Fehlerquelle Nr 1 ist. Weil das bei Änderungen an der Tabelle Probleme versteckt. Wenn jede Spalte mit Namen vorhanden ist, so scheitert bereits der Versuch eine Veränderung an der Tabelle zu machen, Zusätzlich kann man erkennen ob wirklich alle Felder verwendet werden und vor allen wo. Ist für die Datenbankwartung über lange Zeit absolut wichtig. Ausserdem wird damit auch die Menge der Daten von und zum Server auf das notwendige begrenzt. Wenn ich eine Tebelle mit 200 Spalten abfrage, davon aber nur 3 brauche, so macht das gewaltiges an Netzwerklast aus.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

charlytango
Beiträge: 843
Registriert: Sa 12. Sep 2015, 12:10
OS, Lazarus, FPC: Laz stable (2.2.6, 3.x)
CPU-Target: Win 32/64, Linux64
Wohnort: Wien

Re: Umfrage: Beispiele mit Datenbanken

Beitrag von charlytango »

af0815 hat geschrieben:
Sa 22. Okt 2022, 12:33
BTW: Wenn mir einer 'SELECT * FROM' schreibt, diskutiere ich gar nicht mehr weiter. Nicht genügend setzen.
....
Wenn ich eine Tebelle mit 200 Spalten abfrage, davon aber nur 3 brauche, so macht das gewaltiges an Netzwerklast aus.
Unabhängig von meinem Post gebe ich dir da in allen Punkten völlig recht !!!!
Mit dem ganzen PHP und HTML Gedöns geht IMHO einfach viel von der echten fachlichen Kompetenz im DB-Bereich verloren. Und das was dann bearbeitet wird ist inhaltlich kaum mehr als eine Schul-DB.

Spannend werden produktiv eingesetzte Datenbankapplikationen dort wo zB ein ganzer Verlag mit auch finanziell davon abhängig ist und das DB-Design so komplex ist dass man eine Woche braucht um es jemanden so zu erklären dass er weiß was er tut.

Aber egal -- das alles ist keine Entschuldigung für schlechte SQL-Syntax.

charlytango
Beiträge: 843
Registriert: Sa 12. Sep 2015, 12:10
OS, Lazarus, FPC: Laz stable (2.2.6, 3.x)
CPU-Target: Win 32/64, Linux64
Wohnort: Wien

Re: Umfrage: Beispiele mit Datenbanken

Beitrag von charlytango »

Tja, was ich aus den bisherigen Posts herauslese ist dass es durchaus Bedarf an einer Lösung gibt, allerdings scheint der Weg dorthin schwierig zu sein.

Bisher hab ich aus den Posts eher die bestehenden Probleme erkannt -- wie wärs mit kreativen Lösungen? gggg

Ich nehme an (und hoffe), dass die unterschiedliche SQL-Syntax diverser DB's für ein Beispielprogramm weniger ins Gewicht fällt

beurteilt mal folgende beiden Varianten:

A->
eine Desktopdatenbank auf die man sich einigen kann -- meinetwegen SQLite.
Und dann gibt es dazu für jedes relevante OS eine gute Beschreibung zur Verwendung.
Ein DB-File in dem die Daten für die Beispielprojekte bereits vorliegen.
Dieses DB-File wird auf Github samt der Beschreibungen versioniert.
Vielleicht kann man sogar eine Komponente draus machen die per OPM installiert werden kann.

Dann kann die DB immer erweitert werden. Riesig muss die ja nie werden.

B->
ein ähnliches Konzept mit Versionierung und Beschreibung allerdings als Tabellen die samt Daten in einem Datenmodul vorliegen.
Bei dieser Lösung braucht es gar keine zusätzlichen Installationen, das macht dann alles Lazarus direkt.


Möglicherweise können es ja auch zwei Komponenten je nach Einsatzzweck sein.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Umfrage: Beispiele mit Datenbanken

Beitrag von af0815 »

Such mal nach LazInfos

Ad A: SQLite kann man als 'worst case' Bezeichnen :-) Alles ist dort intern Text :shock: na, ja nicht ganz. Aber auch das Datum kann in einer Katastrophe landen. Welches nehmen wir denn da 8)
Und wenn du mit Demodaten arbeitest, dann schon ordentlich. Weil mit 10 Datensätze kann man jeden Sch.. treiben. Mit 10Mio und dan ein paar unkluge joins und die DB ist mal für einige Zeit bei der Arbeit. Hehe, Hab mal 10 Joins mit einer echten DB gemacht und siehe da der Server war 10 min weg :-) Das schärft das Bewusstsein.

Wie gesagt alles hat so VT und NT :mrgreen: und ich bin da etwas Provokant in der Wortwahl.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

charlytango
Beiträge: 843
Registriert: Sa 12. Sep 2015, 12:10
OS, Lazarus, FPC: Laz stable (2.2.6, 3.x)
CPU-Target: Win 32/64, Linux64
Wohnort: Wien

Re: Umfrage: Beispiele mit Datenbanken

Beitrag von charlytango »

Ja, ich weiß dass SQLite alles in text speichert und Datumswerte schon mal per se über DB -Grenzen hinweg ein Graus sind. Gefällt mir auch nicht.
Und ja, ich habe mit meinen "genial-Joins" auch schon mal einen ProduktivServer einer Versicherung so ausgelastet dass gar nix mehr ging und sich 3 Dutzend Entwickler gewundert haben. (Mehrere Tabellen mit mehreren 100tsd Records in einen natural join geschickt). Der DB-Administrator war not amused gggg. Lehrjahre halt.

Aber alles was ich eigentlich möchte ist, dass ich ein Lazarus-Beispiel mit DB-Zugriffen aufmachen kann und es klaglos kompiliert und auch läuft ohne dass ich irgendwelche Klimmzüge machen muss um das Teil zur Mitarbeit zur überzeugen.

Das muss jetzt keine x-tsd Records und ausgefuchste Joins drin haben sondern nur demonstrieren wie ein bestimmtes Beispiel oder eine Komponente funktioniert. Da darf die Kirche ruhig im Dorf bleiben.

Ich kann mir nicht vorstellen dass es im Sinne der Entwickler ist wenn Newbies(oder auch alte Hasen aus anderen Bereichen), die gerade bei DBs eh eine steile Lernkurve hinlegen müssen gleich am ersten Beispiel verzweifeln weil das Teil aus irgendwelchen Gründen (simple fehlende DB zB) wieder mal nicht mitspielt.

Geht euch das denn nicht auch auf die Nerven?

Benutzeravatar
theo
Beiträge: 10468
Registriert: Mo 11. Sep 2006, 19:01

Re: Umfrage: Beispiele mit Datenbanken

Beitrag von theo »

charlytango hat geschrieben:
Sa 22. Okt 2022, 23:48
Geht euch das denn nicht auch auf die Nerven?
Damit einem etwas auf die Nerven gehen kann, muss man zuerst damit konfrontiert werden. :wink:

Ich weiss z.B. gar nicht einmal, von welchen Beispielen du überhaupt sprichst.
Es gibt hier das SQLdb Tutorial.
Passend dazu gibt es in "/lazarus/examples/database/sqldbtutorial3/" den Code.

Meinst du das?
Ich finde es z.B. merkwürdig, dass dort MySQL überhaupt nicht erwähnt wird.
Ich denke, das haben Viele doch am ehesten schon installiert, neben SQLite.
Das dort verwendete PostgreSQL oder Firebird hatte ich z.B. noch nie irgendwo "sowieso" installiert.
SQLite läuft in der Demo auch nicht wirklich (keine Pfadangabe), obwohl es zur Auswahl angeboten wird.

Das könntest du ja verbessern?

Epcop
Beiträge: 140
Registriert: Di 29. Mai 2012, 09:36

Re: Umfrage: Beispiele mit Datenbanken

Beitrag von Epcop »

Ich glaube, die Schwierigkeit heutzutage ist, dass der Fortschritt immer weiter läuft. Es unterschiedliche Versionen bei dem DB, Entwicklungsumgebungen, Komponenten gibt usw. Teilweise spielt dann auch noch das Betriebssystem mit, Treiber, zusätzliche Installationen.
Und in einem Jahr hat sich alles wieder weiterentwickelt. Die Informationen sind dann teilweise veraltet, oder man selbst hat noch alte Versionen. Und dann entsteht ein Mischmasch, der nicht mehr funktioniert. Und oft ist es ja so, dass alles wie ein Zahnrad zusammenpassen muss. Eine Dokumentation oder ein Beispiel hat da noch gut funktioniert, aber inzwischen nicht mehr. Obwohl der code an sich nicht, falsch ist.

Als ich damals mit Datenbanken angefangen habe, hatte ich mir eine Heftchen gekauft, in dem alles Step-by-Step erklärt war (PHP und MySQL). Das hat gut funktioniert.

Das Gleiche habe ich dann auch bei Lazarus gemacht. Wobei ich mich da an mehr Schwierigkeit erinnere, es hat nicht auf Anhieb geklappt. Bin aber mithilfe des Buchen doch zum Ziel gekommen.

Und zuletzt dann eben Lazarus und Firebird, was ich nur mit dem Internet lösen wollte bzw. gelöst habe. Was ich als einziges Chaos empfunden habe.


Ich würde heute wieder ein Buch, Heft, Zeitschrift empfehlen, bei dem der Umgang mit der Entwicklungsumgebung und der Datenbank Schritt für Schritt erklärt wird. Und ich halte es auch für wichtig, möglichst alles identisch zu haben (DB Version, Entwicklungsumgebung, BS). Also evtl. auch mal etwas downgraden. Solange, bis man es verstanden hat, wie es funktioniert.

Was ich auch gemacht habe, in manchen Büchern ist auch eine CD dabei, in der die Entwicklungsumgebung und DB dabei ist. Meist in einer abgespeckten Autorenedition. Aber zum Lernen ist sowas perfekt. Und wenn man es dann verstanden hat, kann man es auf sein System übertragen.

Bei Datenbanken hat man halt auch immer das Problem, man muss sich mit SQL und der Struktur der DB beschäftigen. Das ist als müsste man eine neue Sprache lernen, die mit einer anderen Sprache kommuniziert. Das an sich schreit schon fast nach Problemen. Und jede Datenbank hat seine eigenen Eigenschaften, die man nicht so einfach auf eine andere übetragen kann.

Helios
Lazarusforum e. V.
Beiträge: 106
Registriert: Mi 29. Jun 2011, 22:36
OS, Lazarus, FPC: Lazarus 2.2.4 Windows 10 64Bit / Lazarus 2.0.12 Debian 11.7 „Bullseye" 64Bit
CPU-Target: 64Bit
Wohnort: Leonberg

Re: Umfrage: Beispiele mit Datenbanken

Beitrag von Helios »

Hallo zusammen,
bisher war es so, dass ich alles "Notwendige" über entsprechende Recherche im Internet oder in diesem Forum gefunden habe. Welche Datenbank für einen selber am
besten passt ist i.d.R. Geschmacks oder Problem-/Anforderungs-abhängig (z.B. brauche ich Stored Procedures usw.).
Mit Firebird, SQLite und mit dem ODBC Treibern habe ich nun einige Erfahrungen gemacht und durch die Lernkurve musste ich (u.A. mit Hilfe von https://wiki.freepascal.org/SQLdb_Tutorial1) irgendwie durch.
Ende der 90er hatte ich mir das Delphi 2.0 geleistet und damit unter Oracle meine ersten Demoprogramme geschrieben. Die wichtigsten Informationen für einen funktionierenden DB Connect hatte ich aus dem DOS Magazin (Delphi Spezial Version 01/1996, hab ich immer noch;-)) aber das Wesentliche stand dann (nochmal) in dem oben genannten Tutorial für Lazarus.
Wenn man das Prinzip Connection/Database - Transaction/Query - (Data)Grid erstmal verstanden (und selber(!) umgesetzt hatte) war die Welt der Datenbankprogrammierung "offen".
Und ja, es gibt ständig Neuerungen und auch ich komme in das Alter wo ich mich dann oft frage, wofür ist das denn wieder notwendig, aber so ist wohl der Lauf des (Programmierer)Lebens. Man lernt nie aus, auch wenn man das gerne mal möchte;-).
So und jetzt zur Frage wie man das am besten lernt/umsetzt:
Meiner Meinung nach wie folgt:
1. Datenbank auswählen (wie gesagt SQLite oder Firebird sind keine schlechte Wahl)
2. Datenbank Connect erfolgreich mit der DB via Lazarus wie unter 1. ausgewählt "hinbekommen".
3. Applikation (mit Lazarus) erstellen mit dem die Datenbank (Create DB) und ein paar Testtabellen (Create Table) erstellt werden und auch wieder (vollständig) gelöscht werden können.
4. Applikation 2 (kann auch in Applikation unter 3 enthalten sein) mit der dann die Daten in den Tabellen erstellt/geändert/gelöscht werden können.
So ist eigentlich mein Standardvorgehen, wenn ich mich in einer neuen DB Umgebung zurechtfinden soll/muss.
Gruß
Helios
PS: Ich hoffe ich habe nicht am Thema vorbeigelabert;-)

charlytango
Beiträge: 843
Registriert: Sa 12. Sep 2015, 12:10
OS, Lazarus, FPC: Laz stable (2.2.6, 3.x)
CPU-Target: Win 32/64, Linux64
Wohnort: Wien

Re: Umfrage: Beispiele mit Datenbanken

Beitrag von charlytango »

@epcop
Du beschreibst die Schwierigkeiten der steilen Lernkurve mit (SQL-)Datenbanken

@theo
ich konfrontiere mich mit Datenbanken seit mehr als 40 Jahren und davon die letzten 20 Jahre mit SQL-Typen. Kann mich noch gut erinnern als ich 2,5Mio Records in dBase Dateien hatte und ein einfacher Reindex (weil es periodisch die Compound-Indizes in einer Multiuserumgebung zerschossen hat) mehr als 4 Stunden dauerte gggg

Aber das soll kein Schwanzmess-wettbewerb werden.
Ihr seid beide ganz oder teilweise auf dem falschen Dampfer.

Es geht darum dass DB-Beispiele (gleichermaßen in Lazarus und auch bei Anbietern/Maintainern von Komponenten) aus unterschiedlichen Gründen einfach nicht Out Of The Box funktionieren.
Also kompilieren und damit rumtesten.

Basisbeispiel wäre zb auch das Beispiel \lazarus\examples\database\sqldbtutorial3 das @theo erwähnt hat. Ohne installiertes Firebird geht gar nix, ich sehe auch keine Datei die als Firebird-DB mitgeliefert würde. (Keine Ahnung ob bei einer Firebird-Installation diese DB als Example ohnedies dabei wäre). Und die anderen auswählbaren Datenbanktypen klappen auch nicht.

Ich suche zb immer wieder nach brauchbaren DB-Grid-Komponenten und sehe mir deren Beispiele an.
Viele klappen nur nach einem entsprechenden Aufwand. Und das nervt. Ebene weil man damit konfrontiert ist. Und Werbung fürs Produkt (zb Lazarus) ist es auch nciht.

Und deswegen fragte ich nach einer möglichen Lösung :wink:

Epcop
Beiträge: 140
Registriert: Di 29. Mai 2012, 09:36

Re: Umfrage: Beispiele mit Datenbanken

Beitrag von Epcop »

Basisbeispiel wäre zb auch das Beispiel \lazarus\examples\database\sqldbtutorial3 das @theo erwähnt hat. Ohne installiertes Firebird geht gar nix, ich sehe auch keine Datei die als Firebird-DB mitgeliefert würde. (Keine Ahnung ob bei einer Firebird-Installation diese DB als Example ohnedies dabei wäre). Und die anderen auswählbaren Datenbanktypen klappen auch nicht.
Ich weiß nicht, ob das funktionieren kann. Bei FireBird wäre es vielleicht noch möglich. Aber bei vielen Datenbanken gibt es ja auch Urheberrechte, da kann man nicht einfach die Datenbank mitliefern, damit das Beispiel funktioniert. Da kann man bestenfalls eine SQL zum Befüllen mitgeben.

charlytango
Beiträge: 843
Registriert: Sa 12. Sep 2015, 12:10
OS, Lazarus, FPC: Laz stable (2.2.6, 3.x)
CPU-Target: Win 32/64, Linux64
Wohnort: Wien

Re: Umfrage: Beispiele mit Datenbanken

Beitrag von charlytango »

charlytango hat geschrieben:
Sa 22. Okt 2022, 09:39
Ich denke da an DBs die man nicht installieren muss sondern durch Kopieren nutzen kann (zb SQLite, meinetwegen auch ZMSQL oder Standard-Datenmodule die diverse Tabellen zur Verfügung stellen etc ??). Möglicherweise auch schon befüllt mit Standarddaten die die wichtigsten Anwendungsfälle abdecken. (1:n, n:m). Macht so etwas Sinn und bringt man die Komponentenentwickler dazu die dann auch zu benutzen?
Sofern das Ziel eines Beispiels nicht die Anbindung an eine Datenbank oder der Umgang mit SQL-Befehlen (Stichwort Parameter etc) ist könnte man eine andere Strategie verfolgen.

Soweit ich weiß ist das Ergebnis einer erfolgreichen SQL-Abfrage (egal wie kompliziert sie letztlich ist) in den SQLDB Komponenten in Lazarus jeweils ein Cache in Form eines TBufDatasets. (ZEOS macht das sicher irgendwie ähnlich aber das ist letzlich egal)

Also wäre es ZB ausreichend einige TBufDatasets in einem Datenmodul zusammen zu fassen und mit Daten zu bestücken um Beispieldaten für Komponenten oder Forumsbeispiele zur Verfügung zu haben.
Das ganze als Komponente in Github und OPM eingestellt und alle haben automatisch ihre Daten zur Verfügung.

Möglicherweise kann ja auch jemand sagen ob die Komponente ZMSQL (TBufDataset SQL enhanced in-memory database, operating with semicolon-separated values flat text tables as a persistence store.)ein gangbarer Weg ist um Daten für Beispielprojekte (auch hier im Forum) anzubieten??

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Umfrage: Beispiele mit Datenbanken

Beitrag von af0815 »

Man wird vermutlich um SQLite als Beispielsystem nicht herumkommen, es ist auf wirklich allen Betriebssystem vorhanden. Man muss halt des Ansatz ganz sauber wählen, so das alles soweit wie möglich kompatibel ist.

Auf den Linuxioden ist es einfach mit Bordmittel installierbar, auf Windows kopierbar (da habe ich mit dem Installieren nicht 100% Erfolg gehabt). Auch auf Mobilen Geräten ist es normalerweise schon vorhanden.

Und eine Beispieldatenbank lässt sich auch machen. Man muss sich halt hinsetzen bei den Beispielen und das vorweg mit Entwickeln. Jeder Beispiel muss dann auf die neu erzeuget DB aufsetzen könnnen. Das ist auch Sinnvoll, weil wenn man ein Beispiel laufen gelassen hat, so kann es sein, das die DB nicht mehr in dem Zustand ist, das sie für andere Beispiel noch brauchbar ist. Und man weis ja nie was der User da so noch dazwischen probiert hat.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

charlytango
Beiträge: 843
Registriert: Sa 12. Sep 2015, 12:10
OS, Lazarus, FPC: Laz stable (2.2.6, 3.x)
CPU-Target: Win 32/64, Linux64
Wohnort: Wien

Re: Umfrage: Beispiele mit Datenbanken

Beitrag von charlytango »

Nun, ich hab begonnen so ein Datenmodul für Beispiele zu erstellen.

Trotz meiner Erfahrungen will es nicht gelingen.

Diesmal ist es ein Mix aus eingeklebten Komponenten und Laufzeitbefehlen der Probleme macht.
Zudem lässt sich es sich auch nicht debuggen, auch wenn ich direkt zb im Setter einen Breakpoint setze

Weil die TSQLite3Connection keine Möglichkeit der Zuweisung der sqlite3.dll hat habe ich einen TSQLLibraryLoader benutzt der seine Mitarbeit verweigert und friert denk ich den Debugger oder Lazarus ein.

Code: Alles auswählen

  // Hier kracht es -- entweder enabled=true, das löst ein Loadlibrary aus
  //oder Loadlibrary das setzt enabled=true -- keins von beiden funktioniert
  // zudem... wieso ist das dann doppelt??

  SQLDBLibraryLoader1.Enabled:=true;            //triggers an internal LoadLibrary
 // SQLDBLibraryLoader1.LoadLibrary;                //loads Libraty ans sets enabled=true   

weder .Enabled noch .LoadLibrary bringts. Beides friert Lazarus ein. Sieht irgendwie nach einer Endlosschleife aus die ich nicht finde. Die scheint aber nicht bei mir zu liegen denn zb einfach .Enabled auf true setzte dürfte kein freeze auslösen.

Bin verwirrt und bitte um Hilfe ... vielleicht kann sich auch jemand aus dem Linuxlager das Teil ansehen. besonders die Suchpfade müssten mit defines angepasst werden. Linux ist jetzt nicht meine Hauptwelt.
Dateianhänge
published.zip
(344.63 KiB) 60-mal heruntergeladen

Antworten