提问人:Iulian Vlascu 提问时间:11/15/2023 最后编辑:Iulian Vlascu 更新时间:11/15/2023 访问量:26
Sqlite_orm“and”运算符操作数不匹配
Sqlite_orm "and" operator operands doesn't match
问:
我正在构建一个数据库存储库类,其中包含用户与sqlite_orm数据库交互所需的每种方法。在根据提供的用户名和密码检查用户是否存在的方法中,我无法从“and”运算符传递此错误:
严重性代码说明 项目文件行抑制状态 错误 C2678 二进制文件“&&”:未找到采用类型为“sqlite_orm::internal::where_t<sqlite_orm::internal::internal::is_equal_t<std::string UserDB::* ,std::string>>”的左操作数(或没有可接受的转换)
这是方法:
int8_t DatabaseRepository::CheckUserExists(const std::string& inputUsername, const std::string& inputPassword)
{
auto result = m_db.select(sql::columns(&UserDB::id),
sql::where(sql::c(&UserDB::username) == inputUsername) and sql::c(&UserDB::password) == inputPassword);
if (!result.empty())
return result.front();
else
return -1;
}
我已经检查了sqlite_orm pdf文档,并且我已经按照pdf中的原样编写了方法,甚至Chat gpt也无法解决这个问题。
答: 暂无答案
下一个:从头文件移动第三方库
评论
sql::where(A==B) and C==D
sql::where(A==B and C==D)
where
&&