Как исправить ошибку 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 << "error: " << err << endl; } sqlite3_prepare_v2(db, "select q,w,name from Egor", -1, &stmt, 0); cout << "[1]log in" << endl << "[2]sign in" << endl << "[3]number of account" <> 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: " <

20 Апр 2024 в 19:52
156 +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 Мая 2024 в 20:22
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир