INSERT decimale waarde in double-veld
Hallo,
Ik probeer een numerieke waarde met decimalen in mijn database te stoppen. Het veld waar deze in moet komen is van het datatype 'double'. Nu probeerde ik dit op volgende manieren, maar allen werkten niet;
INSERT INTO arprsw (inkp_verp) VALUES (3,25)
INSERT INTO arprsw (inkp_verp) VALUES ('3,25')
INSERT INTO arprsw (inkp_verp) VALUES ("3,25")
INSERT INTO arprsw (inkp_verp) VALUES (`3,25`)
INSERT INTO arprsw (inkp_verp) VALUES (3.25)
INSERT INTO arprsw (inkp_verp) VALUES ('3.25')
INSERT INTO arprsw (inkp_verp) VALUES ("3.25")
INSERT INTO arprsw (inkp_verp) VALUES (`3.25`)
Wanneer ik deze query uitvoer;
INSERT INTO arprsw (inkp_verp) VALUES (3,25)
Doet hij het wel (error: insert values does not match field count), alleen ziet hij het getal aan voor twee waarden door de komma :(... Voor de rest krijg ik of een 'Error in assignment' of een 'syntaxerror'
Ik kan ook niet direct een SQL-functie vinden waarmee ik uit de voeten kan
Ik maak gebruik van een Btrieve Pervasive-2000 database, de db van ons boekhoudpakket.
Weet iemand hoe ik dit op kan lossen?
Ik probeer een numerieke waarde met decimalen in mijn database te stoppen. Het veld waar deze in moet komen is van het datatype 'double'. Nu probeerde ik dit op volgende manieren, maar allen werkten niet;
INSERT INTO arprsw (inkp_verp) VALUES (3,25)
INSERT INTO arprsw (inkp_verp) VALUES ('3,25')
INSERT INTO arprsw (inkp_verp) VALUES ("3,25")
INSERT INTO arprsw (inkp_verp) VALUES (`3,25`)
INSERT INTO arprsw (inkp_verp) VALUES (3.25)
INSERT INTO arprsw (inkp_verp) VALUES ('3.25')
INSERT INTO arprsw (inkp_verp) VALUES ("3.25")
INSERT INTO arprsw (inkp_verp) VALUES (`3.25`)
Wanneer ik deze query uitvoer;
INSERT INTO arprsw (inkp_verp) VALUES (3,25)
Doet hij het wel (error: insert values does not match field count), alleen ziet hij het getal aan voor twee waarden door de komma :(... Voor de rest krijg ik of een 'Error in assignment' of een 'syntaxerror'
Ik kan ook niet direct een SQL-functie vinden waarmee ik uit de voeten kan
Ik maak gebruik van een Btrieve Pervasive-2000 database, de db van ons boekhoudpakket.
Weet iemand hoe ik dit op kan lossen?
welke opmaak heeft je double veld? (waardes in phpmyadmin)
*
Gewijzigd op 01/01/1970 01:00:00 door - wes -
*
Gewijzigd op 01/01/1970 01:00:00 door - wes -
Een keer zal genoeg zijn haha :)
Er is geen PHPmyAdmin, gezien de DB die ik gebruik..
De opmaak is DOUBLE(6,3)
Overigens de query veranderen in;
INSERT INTO arprsw (inkp_verp) VALUES (3,250) of
INSERT INTO arprsw (inkp_verp) VALUES (3.250)
of op elke andere manier maakt geen verschil.. :(
In PHPmyAdmin en MySQL werkt de volgende query wel;
INSERT INTO `test` ( `id` , `price` ) VALUES ('1', '3.56');
Ik kom er zojuist achter dat een UPDATE query wel stand houd :S ;
UPDATE "arprsw" SET "inkp_verp" = 3.35 WHERE artcode = '1410.0130'
Dit maakt het dat ik er nu helemaal geen snars meer van snap :)
Ik heb volledige rechten over mijn database, dus dit zal het probleem niet vormen
Er is geen PHPmyAdmin, gezien de DB die ik gebruik..
De opmaak is DOUBLE(6,3)
Overigens de query veranderen in;
INSERT INTO arprsw (inkp_verp) VALUES (3,250) of
INSERT INTO arprsw (inkp_verp) VALUES (3.250)
of op elke andere manier maakt geen verschil.. :(
In PHPmyAdmin en MySQL werkt de volgende query wel;
INSERT INTO `test` ( `id` , `price` ) VALUES ('1', '3.56');
Ik kom er zojuist achter dat een UPDATE query wel stand houd :S ;
UPDATE "arprsw" SET "inkp_verp" = 3.35 WHERE artcode = '1410.0130'
Dit maakt het dat ik er nu helemaal geen snars meer van snap :)
Ik heb volledige rechten over mijn database, dus dit zal het probleem niet vormen
Gewijzigd op 01/01/1970 01:00:00 door Wout van der Burg
Dat je in NL een komma gebruikt om decimalen aan te geven, leuk en aardig, maar vergeet die onzin verder maar. In de rest van de wereld, en dan vooral in de wiskunde en wat daaraan is gerelateerd, gebruikt men de punt.
PMA is verder gewoon ruk, die herschrijft jouw queries, daar kan dus ook best wel iets fout in gaan.
3.35 is de juiste notatie voor een getal met 2 decimalen.
PMA is verder gewoon ruk, die herschrijft jouw queries, daar kan dus ook best wel iets fout in gaan.
3.35 is de juiste notatie voor een getal met 2 decimalen.
Klopt, maar in de UPDATE query pakt hij het getal met de punt ook gewoon, maar de INSERT query gaat over z'n nek.. :( geen idee waarom
Ik heb reeds contact opgenomen met Pervasive. Ik wacht nu reactie af :).
Indien er nog ideeen zijn, hoor ik ze graag :)
Indien er nog ideeen zijn, hoor ik ze graag :)
Stelletje gekken van Pervasive vragen $750,- per serviceticket... :(
Indien er nog ideeen zijn, hoor ik ze graag :)
Indien er nog ideeen zijn, hoor ik ze graag :)
Zoals ik je begrijp Wout, werkt een query wel in PHPmyAdmin. Tussen de uitvoer van query's in PHPmyAdmin of via een webpagina die je zelf hebt gemaakt zit eigenlijk geen verschil.
Echo je query eens die mis gaat, zet error_reporting op E_ALL en controleer of er niet iets anders mis gaat.
Komt de waarde voor de float uit een formulier? Dan kan het zijn dat die hem nog als "string" ziet, en dat je er met $var = (float)$_POST['double']; nog kan omzetten naar een geldig getal?
Echo je query eens die mis gaat, zet error_reporting op E_ALL en controleer of er niet iets anders mis gaat.
Komt de waarde voor de float uit een formulier? Dan kan het zijn dat die hem nog als "string" ziet, en dat je er met $var = (float)$_POST['double']; nog kan omzetten naar een geldig getal?
Sorry, ben lang niet meer aan dit project toegekomen, maar we gaan maar weer verder.
@Robert Deiman:
Ik doe deze query niet in PHP-omgeving, maar rechtsreeks in mijn DBMS (Pervasive Control Center). Ik kan ook niet overstappen naar een andere DB, omdat we binnen onze intranetomgeving verbinding maken met onze ERP-software welke ondersteunt wordt door Pervasive Btrieve... Dit zodat we een gebruiksvriendelijke omegving hebben voor medewerkers met gegevens die altijd up-to-date zijn.
@Robert Deiman:
Ik doe deze query niet in PHP-omgeving, maar rechtsreeks in mijn DBMS (Pervasive Control Center). Ik kan ook niet overstappen naar een andere DB, omdat we binnen onze intranetomgeving verbinding maken met onze ERP-software welke ondersteunt wordt door Pervasive Btrieve... Dit zodat we een gebruiksvriendelijke omegving hebben voor medewerkers met gegevens die altijd up-to-date zijn.
Is 't niet misschien zo dat DBMS niet iets toe laat als:
INSERT INTO arprsw (inkp_verp) VALUES (3.25)
Maar dat je alle velden moet benoemen?
INSERT INTO arprsw (inkp_verp) VALUES (3.25)
Maar dat je alle velden moet benoemen?




