Seite 1 von 2
PostgreSQL Datenbank
Verfasst: 02.10.2011 15:11
von Micha122
Hallo erstmal!
Bin gerade ein grösseres Programm am planen bzw. am testen ob PureBasic in allen benötigten bereichen etwas für meinen Zweck zu bieten hat.
Ich muss gestehen, dieser Basic- Dialekt ist wirklich "vom feinsten"!!!!!!!!!
Das einzige Thema das meiner Meinung nach ein wenig vernachlässigt wurde sind die Datenbanken.
Ich benötige für mein Project eine Datenbank die Multi- User fähig ist, und gleichzeitig große Mengen an Daten bewältigen kann. Folglich nach langem suchen scheint dies mit PureBasic nur mit PostgreSQL möglich zu sein.
Wo finde ich ein Einsteiger Tutorial zu diesem Thema????
Gruß, Micha
Re: PostgreSQL Datenbank
Verfasst: 04.10.2011 11:23
von Micha122
Habe die Benutzung der DB Befehle mal ein wenig geübt, komme aber nicht wirklich weiter.
Datenbank öffnen und Daten schreiben schein alles zu klappen. Versuche ich jedoch Daten oder Informationen zu lesen, bekomme ich lediglich leere Strings geliefert????? Was mache ich falsch????
Mein Übungs- Code:
Code: Alles auswählen
;Initialisierung der Datenbankumgebung
Postgre = UsePostgreSQLDatabase()
If Postgre=0
Debug "Keine PostgreSQL Umgebung gefunden"
Else
Debug "PostgreSQL bereit"
EndIf
;Öffnen der Datenbank "Kunden"
DB = OpenDatabase(0, "host=localhost port=5432 dbname=Kunden", "postgres", "Paßwort")
If DB=0
Debug "Datenbank konte nicht geöffnet werden"
Else
Debug "Datenbank geöffnet"
EndIf
;Tabelle "Kunde" anlegen
Tabelle = DatabaseUpdate (0, "CREATE TABLE Kunde (vorname text, name text)")
If Tabelle=0
Debug "Tabelle konnte nicht angelegt werden oder existiert bereits"
Else
Debug "Tabelle erfolgreich angelegt"
EndIf
;Daten in die Tabelle einfügen
Daten = DatabaseUpdate (0,"INSERT INTO Kunde VALUES ('Muster', 'Mustermann')")
If Daten=0
Debug "Fehler, Daten wurden nicht geschrieben"
Else
Debug "Daten wurden geschrieben"
EndIf
Debug GetDatabaseString(0, 0)
End
Edit by NicTheQuick: Code-Tags gesetzt
Re: PostgreSQL Datenbank
Verfasst: 04.10.2011 11:46
von grapy
Eigentlich fehlt nur eine Abfrage Routine. So z.B.:
Code: Alles auswählen
If DatabaseQuery(0, "SELECT * FROM Kunde")
While NextDatabaseRow(0)
Debug GetDatabaseString(0, 0)
Debug GetDatabaseString(0, 1)
Wend
FinishDatabaseQuery(0)
EndIf
Gruß grapy
Re: PostgreSQL Datenbank
Verfasst: 04.10.2011 13:42
von Micha122
Danke, funktioniert und ich habs begriffen!!
Wie benutze ich folgende Suchanfrage mit PureBasic?
"SELECT * FROM Kunde WHERE name LIKE 'Muster'"
In der Tabelle "Kunde" und der Spalte "name" soll z.B. nach dem Namen "Mustermann" gesucht werden.
Hoffe die Syntax ist richtig?
Gruß
EDIT:
Hat sich erledigt, die Vorgehensweise ist ja die gleiche wie in Deinem Code- Beispiel!
Re: PostgreSQL Datenbank
Verfasst: 04.10.2011 14:19
von Kiffi
@Micha: SQL-spezifische Sachen kannst Du am besten hier nachlesen:
http://www.postgresql.org/docs/9.1/inte ... index.html
Grüße ... Kiffi
P.S.: Bitte nicht so viele Satzzeichen verwenden.
Re: PostgreSQL Datenbank
Verfasst: 05.10.2011 13:28
von bobobo
Re: PostgreSQL Datenbank
Verfasst: 05.10.2011 13:54
von Kiffi
@bo³: Sehr gutヤヤヤヤヤヤヤヤヤヤ
Re: PostgreSQL Datenbank
Verfasst: 06.10.2011 16:15
von Micha122
@kiffi
Werde das mit den Satzzeichen künftig beherzigen.
Hat mann sich erst mal mit der SQL Syntax angefreundet, ist es mit PureBasic wirklich sehr einfach eine PostgreSQL Datenbank anzusprechen.
Hier ein kleiner Code für alle anderen Anfänger.
Code: Alles auswählen
;Initialisierung der Datenbankumgebung
UsePostgreSQLDatabase()
;Öffnen der Datenbank "Kunden"
OpenDatabase(0, "host=localhost port=5432 dbname=Kunden", "postgres", "Paßwort")
;Tabelle "Kunde" anlegen
DatabaseUpdate (0, "CREATE TABLE Kunde (vorname text, name text)")
;Drei Datensätze in die Datenbank schreiben
DatabaseUpdate (0,"INSERT INTO Kunde VALUES ('Muster', 'Mustermann')")
DatabaseUpdate (0,"INSERT INTO Kunde VALUES ('Thomas', 'Mustermann')")
DatabaseUpdate (0,"INSERT INTO Kunde VALUES ('Frank', 'Testmann')")
Debug "-----------------------------------------------------"
Debug "ALLE KUNDEN MIT NACHNAME MUSTERMANN ANZEIGEN"
;Liest alle Einträge mit dem Namen Mustermann aus
If DatabaseQuery(0, "SELECT * FROM Kunde WHERE name LIKE 'Mustermann'")
While NextDatabaseRow(0) ; alle Einträge durchlaufen
Debug GetDatabaseString(0,0) ;Spalte 0 auslesen
Debug GetDatabaseString(0,1) ;Spalte 1 auslesen
Wend
FinishDatabaseQuery(0)
EndIf
Debug "-----------------------------------------------"
Debug "ALLE KUNDEN DER DB ANZEIGEN"
;Liest alle Einträge der Tabelle aus
If DatabaseQuery(0, "SELECT * FROM Kunde")
While NextDatabaseRow(0) ; alle Einträge durchlaufen
Debug GetDatabaseString(0,0) ;Spalte 0 auslesen
Debug GetDatabaseString(0,1) ;Spalte 1 auslesen
Wend
FinishDatabaseQuery(0)
EndIf
Grüße
Edit by NicTheQuick: Quote-Tags in Code-Tags geändert
Re: PostgreSQL Datenbank
Verfasst: 06.10.2011 17:14
von Kiffi
@Micha122: Prima, dass Du meine Bitte umsetzen wirst
und dass Du mit Deinem Snippet dem Forum auch was
zurückgibst.
Grüße ... Kiffi
Re: PostgreSQL Datenbank
Verfasst: 06.10.2011 21:16
von Micha122
@kiffi
Sobald ich mal ein bisschen mehr Erfahrung mit PB habe, werde sicherlich auch mal versuchen hier im Forum anderen zu helfen.
Lass den Thread hier bitte noch offen, da am Wochenende hier wahrscheinlich noch Fragen von mir kommen.
Mal schauen, ob ich alles so hinkriege.
Gruß, Micha