Nachdem ich nun erfolgreich zur Datenbank verbinden kann und auch mit PQexec Werte in die Datenbank schreiben kann hab ich folgendes weiteres Problem:
Da ich in kurzen Abständen nacheinander sich ständig änderende Werte in die Datenbank eintragen muss, geht das wohl mit der Funktion PQexec nicht, da man in den Query nicht wie bei PHP mal kurz Variablen einbauen kann. Deshalb gibts wohl z.B die Funktion PQexecParams, wo man die Werte vorher in einem Array definiert und dann im Query mit $1, $2,… auf die einzelnen Werte zugreifen kann. Das funktioniert auch, sofern es sich bei dem Wert den ich in dieses Array schreibe um text handelt. Sobald das aber was anderes ist, bekomm ich beim kompilieren die Fehlermeldung: “incompatible types in initinalization”. Das ist eigentlich auch kein Wunder, da ein Array in C ja eigentlich nur einen bestimmten Datentyp haben kann. Aber wie soll man dann verschiedene Datentypen in die Datenbank schreiben können?
Der zweite und dritte Wert bei der Initialisierung sind eigentlich double Werte. So kommt die Meldung: “initialization makes pointer form integer without a cast”.
Kann mir da jemand mit den Pointern und den Casts auf die Sprünge helfen?
Kann mir jemand mal ein Beispiel posten, wie man sowas hier
C->lat
mit sprintf() oder auch sonst irgendwie in nen String umwandelt, sodass ich das in paramValues verwenden kann? Tut mir leid wenn ich mich da irgenwie blöd anstelle, aber ich bin normalerweise Sprachen wie JavaScript oder PHP gewohnt, wo man sich um sowas nicht kümmern muss. Bei paramTypes weiß ich auch nicht, was ich da angeben soll. Da werden offenbar irgendwelche OIDs von den Datentypen verlangt. Keine Ahnung wie die heißen müssen.