Fehlende "" bei einer Datenbankquery

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
ProgOldie
Beiträge: 236
Registriert: 19.05.2012 17:09
Computerausstattung: Windows11, Arduinos, Pi3, PureBasic 6.02

Fehlende "" bei einer Datenbankquery

Beitrag von ProgOldie »

Hallo,

ich will eine ODBC-Datenquelle auslesen. Dazu habe ich die Anfrage

ODBC_query="SELECT Nachname,Vorname,Geburtsort FROM Personen"
Diese führt aber zu der Fehlermeldung, dass die Tabelle Personen unbekannt ist. Offensichtlich liegt alles an den fehlenden Gänsebeinen. Wenn ich nämlich die Eingabe
SELECT "Nachname","Vorname","Geburtsdatum" FROM "Personen"
in ein Textgadget mache und dessen Inhalt in ODBC_query übernehme, klappt alles wie gewünscht.

Wie bekomme ich die "" in die Variable ODBC_query?

Dank für die Bemühungen!
Windows10 / PB5.70 / Arduino (-Due) / Raspberry Pi3 /Linux Mint 18
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Fehlende "" bei einer Datenbankquery

Beitrag von RSBasic »

Z.B. mit Chr(34)
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Fehlende "" bei einer Datenbankquery

Beitrag von ts-soft »

Ich würde ein ' (Chr(39)) nehmen :wink:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
ProgOldie
Beiträge: 236
Registriert: 19.05.2012 17:09
Computerausstattung: Windows11, Arduinos, Pi3, PureBasic 6.02

Re: Fehlende "" bei einer Datenbankquery

Beitrag von ProgOldie »

Danke,

das mit dem Chr(34) klappt, mit chr(39) geht es dagegen nicht.
Windows10 / PB5.70 / Arduino (-Due) / Raspberry Pi3 /Linux Mint 18
Benutzeravatar
Pelagio
Beiträge: 424
Registriert: 11.11.2004 17:52
Computerausstattung: AMD Ryzen 5 7600 6-Core Prozessor 3.80 GHz
16,0 GB Arbeitsspeicher
Windows 11 Pro Betriebssystem
Wohnort: Bremen

Re: Fehlende "" bei einer Datenbankquery

Beitrag von Pelagio »

Ich selber würde die 'SELECT' Anfrage so formulieren:

Code: Alles auswählen

ODBC_query = "SELECT Nachname,Vorname,Geburtsort FROM [Personen]"
Da ich auch oftmals auf Access, Oracel und SQLite Datenbanken gehe
habe ich in dieser Art und Weise, Tabellenname in Eckige Klammern,
noch nie Probleme gehabt. Meine Tabellen wurden immer erkannt.
Ohne Zeit kein Fleiß
Auf neustem Stand zu sein ist eine Kunst die nicht jeder perfektioniert [Win11Pro; PB6.20 LTS]. :allright:
Benutzeravatar
ProgOldie
Beiträge: 236
Registriert: 19.05.2012 17:09
Computerausstattung: Windows11, Arduinos, Pi3, PureBasic 6.02

Re: Fehlende "" bei einer Datenbankquery

Beitrag von ProgOldie »

Hallo,

das mit den eckigen Klammern funktioniert ebenfalls nicht, sie werden als Fehler ausgewiesen. Das mag in anderen Datenbanken klappen, bei mir (Abfrage an Firebird) aber nicht.

Gruß und Dank
Windows10 / PB5.70 / Arduino (-Due) / Raspberry Pi3 /Linux Mint 18
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Fehlende "" bei einer Datenbankquery

Beitrag von Kiffi »

ProgOldie hat geschrieben:Das mag in anderen Datenbanken klappen, bei mir (Abfrage an Firebird) aber nicht.
PostgreSQL reagiert genauso. Sobald man einen Großbuchstaben in Tabellen- oder
Spaltennamen hat, muss man die entsprechenden Bezeichner in Gänsefüßchen schreiben.

Grüße ... Kiffi
a²+b²=mc²
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Re: Fehlende "" bei einer Datenbankquery

Beitrag von DarkDragon »

Kiffi hat geschrieben:
ProgOldie hat geschrieben:Das mag in anderen Datenbanken klappen, bei mir (Abfrage an Firebird) aber nicht.
PostgreSQL reagiert genauso. Sobald man einen Großbuchstaben in Tabellen- oder
Spaltennamen hat, muss man die entsprechenden Bezeichner in Gänsefüßchen schreiben.
Oracle hat da auch eine kleine Eigenheit: je nach dem wie man die Tabelle anlegt muss man auf Groß-/Kleinschreibung achten.

Code: Alles auswählen

CREATE TABLE "Test" ...
Von nun an muss man das immer fortführen, d.h. Test muss immer Test heißen und darf nichtmehr TEST oder tEst genannt werden.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Antworten