Я использую c/C++ с sqlite. Мой код, показанный ниже, компилируется, но после того, как я ввел свой пароль, я столкнулся с этой ошибкой.Синтаксическая ошибка с вставкой:
SQL error: near "NSERT": syntax error
Я не могу определить, где именно синтаксическая ошибка.
код
#include <stdio.h>
#include <stdlib.h>
#include <sqlite3.h>
#include <string>
#include <iostream>
void insertIntoTable(std::string userName,std::string password);
int main() {
std::string userName;
std::string password;
std::cout << "Enter a user name" << std::endl;
std::cin >> userName;
std::cout << "Enter a password" << std::endl;
std::cin >> password
insertIntoTable(userName,password);
}
//method to insert into table
void insertIntoTable(std::string userName,std::string password) {
sqlite3 *db;
char *zErrMsg = 0;
int rc;
const char *sql;
int i = 1;
int j = 1;
rc = sqlite3_open("test.db", &db);
if(rc)
{
fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db));
exit(0);
}else
{
fprintf(stderr, "Opened database successfully\n");
}
//query
sql = "INSERT INTO Login (_id,username,password,manager_id) " \
"VALUES ("+i,userName,password,j+");";
}
Пожалуйста, помогите. благодаря
В выражении 'SQL = "INSERT INTO Логин (_id, имя пользователя, пароль, manager_id)" \ "VALUES (" + я, имя пользователя, пароль, J +") ; ';', comma-operator делает его как 'sql = 'INSERT INTO Login (_id, username, password, manager_id)" \ "VALUES (" + i; '/ * плюс другой нежелательный файл, который эффективно игнорируется (как выражения вычисляются, но отбрасываются) */ – user2864740