Kein Eintrag trotz korrekter Syntax |
Kein Eintrag trotz korrekter Syntax |
17. Mar 2016, 16:27
Post
#1
|
|
new Member Group: Members Posts: 7 Joined: 08.01.2016 Member No.: 483 LV Version: 2014 Zertifizierung: CLAD LV User seit: 2008 |
Hallo,
ich habe ein kleines Problem beim Einfügen neuer Daten in meine Datenbank. Ich habe eine MySQL-Datenbank über XAMPP laufen. Die Kommunikation mit der Datenbank steht, ich kann z.B. alle in der DB vorhandenen Tabellen abfragen. Was leider nicht geht ist das Einfügen neuer Datensätze. Die Syntax des SQL-Befehls ist korrekt, wenn ich ihn bei phpmyadmin eingebe funktioniert alles. Lediglich über das ADO-Toolkit geht es leider nicht. Eine Fehlermeldung wird nicht angezeigt. Hat jemand eine Idee woran das liegt bzw. eine Lösung? Vielen Dank! MfG Roadrunner |
|
|
09. Apr 2016, 09:04
Post
#2
|
|
proven Member Group: Administrators Posts: 315 Joined: 16.10.2006 From: Düsseldorf Member No.: 2 LV Version: current Zertifizierung: CLA LV User seit: 2001 |
dann liegt es an der Umwandlung der Zahlen in einen String, im Speziellen am Dezimalpunkt:
die Zahl 9,876 wird auf einem deutschsprachigen PC in den String "9,876" umgewandelt. Damit kann aber SQL nichts anfangen, weil in SQL das Komma IMMER das Spalten-Trennzeichen ist. Man muss in LV zum Umwandeln von Zahlen in Strings im "Format String" (Format into String Primitive verwenden!) ein %.; voranstellen. Der Format-String sieht also wie folgta aus: >>%.;INSERT INTO meinetabelle (spalte1, spalte2) VALUES "%0.2f", "%0.2f"<< Schließt man da 2 Zahlen an, z.B. 1,234 und 5,678, dann macht die Primitive daraus: >>INSERT INTO meinetabelle (spalte1, spalte2) VALUES "1.234", "5.678"<< macht man das ohne vorangestelltes "%.;" dann kommt folgender String raus: >>INSERT INTO meinetabelle (spalte1, spalte2) VALUES "1,234", "5,678"<< das letzte INSERT-Statement kann der SQL-Parser nicht verarbeiten, weil 2 Spalten angegeben werden, die gefüllt werden sollen, hinter Values aber Daten für 4 Spalten angegeben sind: Spalte 1: >>"1<< Spalte 2: >>234"<< Spalte 3: >>"5<< Saplte 4: >>678"<< Bei Spalte 1 und 3 fehlt für den Parser dann auch jeweils das " am Ende, bei Spalte 2 und 4 das " am Anfang. Damit entstehen im Query min. 5 Fehler: 1. Datentypenen nicht eindeutig, weil das führende oder schließende " fehlt 2. mehr Daten als Spalten angegeben ... viele Grüße cb -------------------- künstliche Intelligenz ist besser als natürliche Dummheit!
rotabench:rotierende Prüfstände nach dem Baukasten-Prinzip |
|
|
Lo-Fi Version | Time is now: 29.03.2024 - 08:31 |