我试图在数据库中存储两个值但是我遇到了语法错误 这是我的代码
- (IBAction)LogIn:(id)sender {
sqlite3 *dbConnection;
sqlite3_stmt *statement = Nil;
if (sqlite3_open([[sharedobj getSandboxPath] UTF8String], &dbConnection) == SQLITE_OK) {
NSString *insertQuery = [NSString stringWithFormat:@"INSERT INTO LOGINVALUES ('%@','%@')",self.userNameField.text,self.passwordField.text];
if (sqlite3_prepare_v2(dbConnection, [insertQuery UTF8String], -1, &statement, NULL) == SQLITE_OK) {
sqlite3_bind_text(statement, 1, [self.userNameField.text UTF8String], -1, NULL);
sqlite3_bind_text(statement, 2, [self.passwordField.text UTF8String], -1, NULL);
}
if (sqlite3_step(statement) == SQLITE_DONE) {
NSLog(@"successfully inserted a record in table");
}
else{
NSLog(@"error is %s",sqlite3_errmsg(dbConnection));
}
}
sqlite3_finalize(statement);
sqlite3_close(dbConnection);
} 但我得到了
error is near ")": syntax error
我该如何解决此错误? 提前谢谢。
答案 0 :(得分:1)
假设LOGIN
是您的表名,您需要LOGIN
和VALUES
之间的空格。
截至目前,LOGINVALUES
被视为表名,括号列出了要插入的列名。然后SQL输入结束而不强制INSERT
查询,例如VALUES (...)
部分。
另外,最后添加分号;
。