首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检查QSqlQuery::addBindValue()是否失败

检查QSqlQuery::addBindValue()是否失败
EN

Stack Overflow用户
提问于 2015-06-15 17:52:40
回答 1查看 306关注 0票数 0

如何检查QSqlQuery::addBindValue()是否失败?例如,可能没有更多的占位符需要绑定。考虑下面的代码:

代码语言:javascript
复制
QSqlQuery q;
q.prepare("INSERT INTO table1 (field1) VALUES (?)");
q.addBindValue("value1");
q.addBindValue("value2"); // this one should fail

但是,addBindValue()是一个void,所以它不会返回关于它是成功还是失败的信息。

EN

回答 1

Stack Overflow用户

发布于 2015-06-15 20:54:17

我终于进入了源代码,看起来你真的不能发现它是否失败了。它不设置最后一个错误或任何其他错误代码:

代码语言:javascript
复制
void QSqlResult::bindValue(int index, const QVariant& val, QSql::ParamType paramType)
{
    Q_D(QSqlResult);
    d->binds = PositionalBinding;
    QList<int>& indexes = d->indexes[d->fieldSerial(index)];
    if (!indexes.contains(index))
        indexes.append(index);
    if (d->values.count() <= index)
        d->values.resize(index + 1);
    d->values[index] = val;
    if (paramType != QSql::In || !d->types.isEmpty())
        d->types[index] = paramType;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30842199

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档