IPB

Welcome Guest ( Log In | Register )

> Kein Eintrag trotz korrekter Syntax
Roadrunner0815
post 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
Go to the top of the page
 
+Quote Post
 
Start new topic
Replies
CB
post 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
Go to the top of the page
 
+Quote Post

Posts in this topic


Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



Lo-Fi Version Time is now: 29.03.2024 - 08:31