PostgreSQL Datenbank

Anfängerfragen zum Programmieren mit PureBasic.
Micha122
Beiträge: 248
Registriert: 02.10.2011 14:45
Wohnort: Sinzig
Kontaktdaten:

PostgreSQL Datenbank

Beitrag 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
Micha122
Beiträge: 248
Registriert: 02.10.2011 14:45
Wohnort: Sinzig
Kontaktdaten:

Re: PostgreSQL Datenbank

Beitrag von Micha122 »

Habe die Benutzung der DB Befehle mal ein wenig geübt, komme aber nicht wirklich weiter. :cry:
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
Benutzeravatar
grapy
Beiträge: 108
Registriert: 09.09.2004 09:05

Re: PostgreSQL Datenbank

Beitrag 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
Micha122
Beiträge: 248
Registriert: 02.10.2011 14:45
Wohnort: Sinzig
Kontaktdaten:

Re: PostgreSQL Datenbank

Beitrag von Micha122 »

Danke, funktioniert und ich habs begriffen!! :D

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!
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: PostgreSQL Datenbank

Beitrag 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.
a²+b²=mc²
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Re: PostgreSQL Datenbank

Beitrag von bobobo »

‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: PostgreSQL Datenbank

Beitrag von Kiffi »

@bo³: Sehr gutヤヤヤヤヤヤヤヤヤヤ
a²+b²=mc²
Micha122
Beiträge: 248
Registriert: 02.10.2011 14:45
Wohnort: Sinzig
Kontaktdaten:

Re: PostgreSQL Datenbank

Beitrag von Micha122 »

@kiffi
Werde das mit den Satzzeichen künftig beherzigen. :allright:


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 :D

Edit by NicTheQuick: Quote-Tags in Code-Tags geändert
Barcodes for PureBasic - http://micha122.bplaced.net/
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: PostgreSQL Datenbank

Beitrag von Kiffi »

@Micha122: Prima, dass Du meine Bitte umsetzen wirst
und dass Du mit Deinem Snippet dem Forum auch was
zurückgibst. :allright:

Grüße ... Kiffi
a²+b²=mc²
Micha122
Beiträge: 248
Registriert: 02.10.2011 14:45
Wohnort: Sinzig
Kontaktdaten:

Re: PostgreSQL Datenbank

Beitrag 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
Antworten