帮帮忙,急用!!!我查询了数据库中这个表但是它里面什么数据都没有,为什么查询的结果还是true呢?
为什么wn_user_ip表中没有这个IP号,确切的说什么数据都没有,怎么查询结果还是true呢?这点我一直想不通。。。下面使部分代码:QSqlDatabasedb=QS...
为什么wn_user_ip表中没有这个IP号,确切的说什么数据都没有,怎么查询结果还是true呢?这点我一直想不通。。。
下面使部分代码:
QSqlDatabase db = QSqlDatabase::database(DATABASE_NAME);
QSqlQuery query(db); //创建查询数据库对象
QString sql="select * from wn_user_ip where user_ip = ' "+tmpUser.getUserIp()+" ' ";
bool isRight = query.exec(sql); //查询数据库
// qDebug() << isRight;
if (!isRight)
{
QMessageBox::information(0, QString::fromUtf8("错误"), QString::fromUtf8(“访问数据库失败”);
} 展开
下面使部分代码:
QSqlDatabase db = QSqlDatabase::database(DATABASE_NAME);
QSqlQuery query(db); //创建查询数据库对象
QString sql="select * from wn_user_ip where user_ip = ' "+tmpUser.getUserIp()+" ' ";
bool isRight = query.exec(sql); //查询数据库
// qDebug() << isRight;
if (!isRight)
{
QMessageBox::information(0, QString::fromUtf8("错误"), QString::fromUtf8(“访问数据库失败”);
} 展开
2个回答
展开全部
你的问题是出在你的字段检索字段上,原因是因为你的查询语句出现了问题,一旦tmpUser.getUserIp()的查询值为空值(NULL)或者其他字符(例如:or,union等),带着这样的语句去查询数据库,而此时你的wn_user_ip没有任何的信息,系统默认为空值(NULL),所以这样出现的结果当然为True了。。。。
追问
你说的对,我还用了一个并不存在的IP号测试了一下,结果还是为真。数据库这块我是刚刚自学了点能力实在有限,你能具体说一下我的检索字段哪块出现了问题,导致查询结果始终为真,我用的是SQLite数据库
数位汇聚
2023-08-28 广告
2023-08-28 广告
1、数位观察新增一个数据搜索平台:数位观察,不用费力的去各个平台找数据,通过这个平台搜索或勾选需要的标签就行,就能找到各个维度的数据。提供12大类、50多万个数据和数据报告(基本上覆盖了市面上所有细分行业)。在网站首页就有全面又详细的数据分...
点击进入详情页
本回答由数位汇聚提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询