我正在使用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(” + 1,用户名,密码,J +“) ;“;”,逗号运算符使其像“sql =”INSERT INTO登录(_id,用户名,密码,manager_id)“\ ”VALUES(“+ i;'/ *加上其他有效忽略的垃圾表达式被评估但被丢弃)*/ – user2864740