Как исправить ошибку sqlite3 c++? #include #include #include "sqlite3.h" using namespace std; int main() { int vib; char* err; sqlite3* db; sqlite3_stmt* stmt; sqlite3_open("masql.db", &db); int rc = sqlite3_exec(db, "CREATE TABLE IF NOT EXISTS Egor(login varchar(100),password varchar(100));", NULL, NULL, &err); if (rc != SQLITE_OK) { cout > vib; if (vib == 1) { string log, pas; cout > log; cout > pas; string psdg = "insert into Egor VALUES(" + log + ","+ pas +"); "; cout << psdg << endl; rc = sqlite3_exec(db,psdg.c_str(), NULL, NULL, &err); if (rc != SQLITE_OK) { cout << "instert error: " << err; } } sqlite3_close(db); }

20 Апр в 19:52
127 +1
0
Ответы
1

В коде есть две ошибки:

После создания таблицы в sqlite запрос для выборки данных должен выглядеть как "select login, password from Egor", вместо "select q,w,name from Egor".

В строке создания запроса для вставки данных у вас неправильно формируется строка psdg. Вам нужно обернуть значения log и pas в одинарные кавычки, так как они являются строками. Также надо разделять значения запятой. Правильный код будет выглядеть так:

string psdg = "insert into Egor VALUES('" + log + "','" + pas + "'); ";

Исправив эти ошибки, ваш код должен работать корректно.

28 Мая в 20:22
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 493 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир