Seite 1 von 2

kein Eintrag in DB

Verfasst: 31.12.2016 08:22
von Baba_Smurf
Guten Morgen,

auch wenn ich mit diesem Thema nerve, sorry 8)

ich habe folgenden Code:

Code: Alles auswählen

;Initialisierung der Datenbankumgebung
UsePostgreSQLDatabase()

;Öffnen der Datenbank "Kunden"
OpenDatabase(0, "host=localhost port=5432 dbname=Regal", "postgres", "postgres")

;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
Dieser funktioniert auch, zumindest im Debug - Fenster, aber.......
ich finde die Einträge nicht in der Datenbank, wenn ich mit pgAdmin nachschaue ist die DB "Regal" leer, warum??

mfg

Re: kein Eintrag in DB

Verfasst: 31.12.2016 10:43
von Micha122
Hi, ist ja nen uralt-Code von mir. :D
http://forums.purebasic.com/german/view ... +datenbank

Wenn im Debug- Fenster alles richtig angezeigt wird, sollte auch entsprechend was in der DB sein.
Hab leider aktuell keine DB zum testen. :oops:

Grüße

Re: kein Eintrag in DB

Verfasst: 31.12.2016 10:43
von Bisonte
Es könnte am DataBaseUpdate() liegen, weil bei MySQL muss man dafür immer DataBaseQuery() nehmen, oder es könnte auch an dem
' als Zeichen liegen.

Code: Alles auswählen

Dieses Zeichen : ` und nicht dieses : '

;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`);")

oder mal 

;Drei Datensätze in die Datenbank schreiben
DatabaseQuery (0,"INSERT INTO `Kunde` VALUES (`Muster`, `Mustermann`);")
DatabaseQuery(0,"INSERT INTO `Kunde` VALUES (`Thomas`, `Mustermann`);")
DatabaseQuery(0,"INSERT INTO `Kunde` VALUES (`Frank`, `Testmann`);")

probieren

Re: kein Eintrag in DB

Verfasst: 31.12.2016 10:46
von Micha122
Es könnte am DataBaseUpdate() liegen, weil bei MySQL m
Er benutzt Pg-SQL :wink:

Re: kein Eintrag in DB

Verfasst: 31.12.2016 10:49
von Bisonte
Micha122 hat geschrieben:
Es könnte am DataBaseUpdate() liegen, weil bei MySQL m
Er benutzt Pg-SQL :wink:
Dessen bin ich mir bewusst. Allerdings ist die Sache mit dem DataBaseUpdate und dem DataBaseQuery bei SQLite und bei MySQL schon anders, vielleicht auch bei Pg-SQL(Hab leider keinen Server mit einer solchen DB). Daher mein Vorschlag.

Re: kein Eintrag in DB

Verfasst: 31.12.2016 11:11
von Micha122
Auf einem anderen Rechner gerade mal ausprobiert. Der Code funktioniert auch 2016 noch. :D

Ich benutze PG 9.6 allerdings mit dem alten PgAdmin III.

Schemata > public > Tabellen........ alles IO.

Benutzt Du PgAdmin 4?

Re: kein Eintrag in DB

Verfasst: 31.12.2016 15:56
von Baba_Smurf
Hallo,

Erstmals Danke, ja ich nutze pgAdmin 4
Mfg

Re: kein Eintrag in DB

Verfasst: 31.12.2016 16:08
von TroaX
An PGAdmin könnte es liegen. Am Programm nicht. Wenn die Debug-Ausgabe funktioniert, liegen die Daten auch in der Datenbank. Sowieso wäre mir PGAdmin 4 nicht recht, da mir dieses mit Python aufgesetzte Ding mir zu Fett vorkommt. HeidiSQL macht auch mit den neuren PG-Versionen einen brauchbaren Job. Installiert verwende ich aber DBeaver. Da es die meisten wichtigen SQL-Basierten Datenbanken unterstützt, lohnt es sich wirklich, dies auch zu installieren. Verwalte damit alle meine Datenbanken.

Re: kein Eintrag in DB

Verfasst: 31.12.2016 16:11
von Micha122
ja ich nutze pgAdmin 4
Die Desktop- Variante machte bei mir nur Probleme, ist aber schon ne Zeit her.

Aber generell:
Wenn DatabaseQuery(0, "SELECT * FROM Kunde") bzw.Debug GetDatabaseString(0,0) das gewünschte Ergebnis liefert, hast Du auch Tabelle und Daten in der DB.

Probier doch einfach mal pgadmin III 1.22. Ist schnell installiert.



Kommt alle gut ins neue Jahr!


Edit:
Warst schneller. :bluescreen:
Schaue mir Deine Alternativen nächstes Jahr mal an. :D

Re: kein Eintrag in DB

Verfasst: 31.12.2016 19:12
von Baba_Smurf
danke für die Hilfe,

ich habe jetzt HeidiSQL installiert, und siehe da die Tabellen tauchen auf.
werde morgen mal intensiver testen, bis dahin

Guten Rutsch