Seite 1 von 1
DatabaseGrid - zur einfachen Eingabe in eine Datenbank
Verfasst: 12.06.2013 15:20
von fvogler
Hallo Liebe Community,
spiele gerade mein erstes Mal mit PureBasic und dem Form Designer. Ein Paar Buttons und Events funktionieren wunderbar. Nun wollte ich eine Datenbankanbindung machen (SQL Light). Auch das funktionierte auf Anhieb.
So nun aber mein Problem - ich will eine Datenbank Tabelle Auslesen die Inhalte auf eine Form klatschen mittels einem DatabaseGrid - wo man dann Änderungen machen kann in der Tabelle. Nur finde ich ein solches Objekt nicht - kann das sein? Die Suche gibt auch nichts her - oder ich bin noch zu doof zum suchen
Sollte dann etwa So aussehen:
Code: Alles auswählen
Feldname Feldname Feldname
---------------------------------------------
Eingabefeld Eingabefeld Eingabefeld
Eingabefeld Eingabefeld Eingabefeld
Button(Update)
Eingabefelder sollten ggf. auch eine Dropdown Box enthalten können wo man aus einer anderen Tabelle schon Werte vordefinieren kann. Gibt es sowas schon fertig? Oder muss ich mir das aus Einzelobjekten selbst zusammenbauen?
Danke schonmal für Eure Hilfe
Re: DatabaseGrid - zur einfachen Eingabe in eine Datenbank
Verfasst: 12.06.2013 15:45
von WPö
Moin!
Das, was Du programmieren willst, ist eigentlich nichts weiter als ein phpMyAdmin für SQLite. Mit diesem kenne ich mich nicht aus, sollte aber bereits existieren. Warum also die ganze Arbeit (durchaus nicht unerheblich) nochmal machen? Als Programmierübung ist das in Ordnung, für den ernsthaften oder produktiven Einsatz würde ich abraten.
Fall Du das Projekt doch durchziehen willst, empfehle ich das Studium des myPhpAdmin-Quelltextes. Programmiersprache ist PHP, also sehr ähnlich zu C und GUI-Plattform ist über HTML, CSS und Javascript jeder popelige Navigator.
Gruß - WPö
Re: DatabaseGrid - zur einfachen Eingabe in eine Datenbank
Verfasst: 12.06.2013 16:07
von fvogler
Guten Tag WPö,
sehe ich die Antwort richtig - es gibt kein DataGrid Objekt? Ich meine sowas in früheren PureBasic Programmen schon gesehen zu haben.
Nun aber zu Deinen Fragen. Ich kenne PhpMyAdmin und auch PHP.
SQLite war nur ein Test - mir reichte es schon SQL Abfragen zu machen und Results zurückzubekommen. Einfach um das Prinzip zu verstehen.
Ich möchte nun aber nicht in PHP eine Web basierende Anwendung erstellen oder nutzen, sondern ein Windows Programm (ggf. PureBasic).
Das Programm soll einem Nutzer, in einer spezifischen Datenbank dessen Tabellen Abhängigkeiten ich kenne, benutzerfreundlich das Einfügen, Ändern und Löschen von Tabelleninhalten ermöglichen.
Dass es für Administratoren Tools gibt um Daten zu pflegen ist mir klar - ich will den Nutzer aber doch nicht an die Datenbank Administration lassen um simple Daten zu pflegen.
Gruß FVo
Re: DatabaseGrid - zur einfachen Eingabe in eine Datenbank
Verfasst: 12.06.2013 16:19
von ts-soft
Ein ListIconGadget wäre die einfachste Variante.
Entweder Editierfelder unterhalb des Gadgets mit Knopf zum übernehmen, bzw.
Eingabe über Popup im Kontextmenü.
Ansonsten gibt es noch Win-API Ansätze bzw. ExGrid von Srod, das aber nicht
kostenlos ist und auch nur unter Windows funktioniert.
Gruß
Thomas
Re: DatabaseGrid - zur einfachen Eingabe in eine Datenbank
Verfasst: 12.06.2013 16:33
von WPö
Hallo, Frank!
Sehe gerade, daß Du neu bist. Deshalb von mir schon mal ein Willkommen.
Das von Dir angesprochene DataGrid-Objekt (also wohl Gadget) gibt es nicht in dieser Form. Entweder Du stellst das als Canvas-Gadget dar (umständlich), als Web-Gadget (Programmidee verfehlt) oder tatsächlich mit einer Menge an separaten String-Gadgets. Letztere Lösung ist zwar die flexibelste, aber auch die zunächst aufwendigste. Bedenke, daß Du ja vorher nicht wissen kannst, wieviele Spalten es in einer Tabelle gibt und welche Art von Daten sie enthalten. Damit ist auch die Verwaltung dieser String-Gadgets in jedem Fall dynamisch zu halten. Alle anderen Ideen, die GUI umzusetzen, werden vermutlich nicht plattformunabhängig sein.
Das erfordert nun ein gerüttelt Maß an in Basic gegossener Intelligenz und somit viel Entwicklungsaufwand. Schließlich müssen eine Menge an Verhaltensweisen und Logik untergebracht werden und Eingabefehler des Nutzers abgefangen. Letzteres ist wohl das Schwierigste daran, denn immerhin betreffen seine Änderungen eine nutzbare und vielleicht sogar gerade genutzte Datenbank. Operationen am offenen Herzen sind immer riskant. Da man an solche Manipulationen nur rangelassen werden sollte, wenn man wirklich weiß, was man da tut, schließt das eigentlich von vorn herein Standardnutzer aus und wir landen wieder bei Admin-Werkzeugen.
Bevor Du also an ein solch anspruchsvolles Projekt gehst, solltest Du mit Purebasic bei kleineren Projekten beginnen und Dich langsam vorarbeiten. Dabei kannst Du dann die notwendigen Fertigkeiten für Dein Projekt sammeln.
Gruß - WPö
Re: DatabaseGrid - zur einfachen Eingabe in eine Datenbank
Verfasst: 12.06.2013 16:51
von ts-soft
Naja, ich sehe die Schwierigkeit jedenfalls nicht
Hier ist eine von vielen Möglichkeiten demonstriert:
http://www.purebasic.fr/german/viewtopi ... 33#p293933
Gruß
Thomas
Re: DatabaseGrid - zur einfachen Eingabe in eine Datenbank
Verfasst: 12.06.2013 17:02
von fvogler
Vielen Dank Euch beiden,
Dass da eine gründliche Plausibilitätsprüfung usw. dazugehört ist mir klar. Mache den Job nicht erst seit 1 Jahr.
Mir geht es hauptsächlich darum PureBasic Form und Gadgets kennen zu lernen und die Möglichkeiten in Verbindung mit Datenbanken.
Das mit dem ListIconGadget ist gut um alles anzuzeigen. Zum Editieren werde ich wohl um dynamisch erstellte Textfelder nicht herumkommen bzw. weiterhin C# für Form Design zu nutzen. Da gibt es sowas.
ExGrid werde ich mir mal anschauen. Gutes muss nicht umsonst sein.
Frage kann man Objekte/Gadgets die einmal auf der Form gelandet sind auch wieder löschen - ich meine jetzt nicht mit Hide nur unsichtbar machen?
@ts-soft Danke für deinen Link - habe nicht nach SQLite gesucht da ich ja nur allgemein was wissen wollte zu Datenbankzugriffen über Gadgets - deshalb nix gefunden - Danke Vielmals SQLite war nur die einfachste Wahl mal was zu testen. Würde ich so jetzt nicht produktiv einsetzen
Danke für die Hilfe bisher
Re: DatabaseGrid - zur einfachen Eingabe in eine Datenbank
Verfasst: 12.06.2013 17:09
von ts-soft
fvogler hat geschrieben:Danke Vielmals SQLite war nur die einfachste Wahl mal was zu testen. Würde ich so jetzt nicht produktiv einsetzen

SQLite ist für lokale Datenbanken wohl das beste, was der Markt hergibt
Im Netzwerk sieht es dann etwas anders aus, da spielen dann ja auch viel mehr
Aspekte eine Rolle.
Re: DatabaseGrid - zur einfachen Eingabe in eine Datenbank
Verfasst: 12.06.2013 17:12
von NicTheQuick
fvogler hat geschrieben:Frage kann man Objekte/Gadgets die einmal auf der Form gelandet sind auch wieder löschen - ich meine jetzt nicht mit Hide nur unsichtbar machen
Dafür gibt es 'FreeGadget()'.
Re: DatabaseGrid - zur einfachen Eingabe in eine Datenbank
Verfasst: 12.06.2013 17:13
von fvogler
Ihr seid super - danke