Я пытаюсь запросить строку (C ++) переменной типа данных (double) в mariaDB. Я успешно отправляю любые другие переменные (i, b и buffer), но не удваиваюсь.
Вот лишь часть кода, где я пытаюсь отправить переменную hh и другие. Любые другие переменные, которые вы видите, я отправляю без проблем.
double hh= -4.762486e-09;
string query = "INSERT INTO tabulka (n, napatie, prud, cas) VALUES ("+to_string(i)+","+to_string(b)+","+to_string(hh)+",'"+buffer+"')";
В базе данных Tabulka я получаю 0 от переменной чч.
TABLE tabulka:
MariaDB [hodnoty]> select n, napatie,prud, cas from hodnoty.tabulka;
+------+-----------+------+---------------------+
| n | napatie | prud | cas |
+------+-----------+------+---------------------+
| 1 | 0.000055 | 0 | 2020-03-03 12:20:09 |
MariaDB [hodnoty]> SHOW COLUMNS FROM tabulka;
+---------+-----------+------+-----+---------------------+-------------------------------+
| Field | Type | Null | Key | Default | Extra |
+---------+-----------+------+-----+---------------------+-------------------------------+
| n | int(11) | YES | | NULL | |
| napatie | float | YES | | NULL | |
| prud | double | YES | | NULL | |
| cas | timestamp | NO | | current_timestamp() | on update current_timestamp() |
+---------+-----------+------+-----+---------------------+-------------------------------+
Когда я пытаюсь вставить его точное значение все в порядке:
MariaDB [hodnoty]> insert into tabulka (prud) values ('-4.7624816e-09');
Query OK, 1 row affected (0.001 sec)
MariaDB [hodnoty]> select n, napatie,prud, cas from hodnoty.tabulka;
+------+---------+---------------------+---------------------+
| n | napatie | prud | cas |
+------+---------+---------------------+---------------------+
| NULL | NULL | -0.0000000047624816 | 2020-03-03 13:32:44 |
+------+---------+---------------------+---------------------+
Можете ли вы помочь мне, что я делаю неправильно? Буду счастлив как слон.