亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? qsqlrelationaltablemodel.cpp

?? QT 開發環境里面一個很重要的文件
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
    value might be applied to the database at once, or it may be    cached in the model.    Returns true if the value could be set, or false on error (for    example, if \a index is out of bounds).    For relational columns, \a value must be the index, not the    display value.    \sa editStrategy(), data(), submit(), revertRow()*/bool QSqlRelationalTableModel::setData(const QModelIndex &index, const QVariant &value,                                       int role){    Q_D(QSqlRelationalTableModel);    if (role == Qt::DisplayRole && index.column() > 0 && index.column() < d->relations.count()) {        d->relations[index.column()].displayValues[index.row()] = value;        return true;    }    return QSqlTableModel::setData(index, value, role);}/*!    Lets the specified \a column be a foreign index specified by \a relation.    Example:    \quotefromfile sql/relationaltablemodel/relationaltablemodel.cpp    \skipto model->setTable    \printline model->setTable    \skipto setRelation    \printline setRelation    The setRelation() call specifies that column 2 in table \c    employee is a foreign key that maps with field \c id of table \c    city, and that the view should present the \c{city}'s \c name    field to the user.    Note: The table's primary key may not contain a relation to another table.    \sa relation()*/void QSqlRelationalTableModel::setRelation(int column, const QSqlRelation &relation){    Q_D(QSqlRelationalTableModel);    if (column < 0)        return;    if (d->relations.size() <= column)        d->relations.resize(column + 1);    d->relations[column].rel = relation;}/*!    Returns the relation for the column \a column, or an invalid    relation if no relation is set.    \sa setRelation(), QSqlRelation::isValid()*/QSqlRelation QSqlRelationalTableModel::relation(int column) const{    Q_D(const QSqlRelationalTableModel);    return d->relations.value(column).rel;}QString QSqlRelationalTableModelPrivate::escapedRelationField(const QString &tableName,                        const QString &fieldName) const{    QString esc;    esc.reserve(tableName.size() + fieldName.size() + 1);    esc.append(tableName).append(QLatin1Char('.')).append(fieldName);    return db.driver()->escapeIdentifier(esc, QSqlDriver::FieldName);}/*!    \reimp*/QString QSqlRelationalTableModel::selectStatement() const{    Q_D(const QSqlRelationalTableModel);    QString query;    if (tableName().isEmpty())        return query;    if (d->relations.isEmpty())        return QSqlTableModel::selectStatement();    QString tList;    QString fList;    QString where;    QSqlRecord rec = d->baseRec;    QStringList tables;    const QRelation nullRelation;    for (int i = 0; i < rec.count(); ++i) {        QSqlRelation relation = d->relations.value(i, nullRelation).rel;        if (relation.isValid()) {            QString relTableAlias = QString::fromLatin1("relTblAl_%1").arg(i);            fList.append(d->escapedRelationField(relTableAlias, relation.displayColumn()));            fList.append(QLatin1Char(','));            if (!tables.contains(relation.tableName()))                tables.append(d->db.driver()->escapeIdentifier(relation.tableName(),                       QSqlDriver::TableName).append(QLatin1String(" AS ")).append(                       d->db.driver()->escapeIdentifier(relTableAlias, QSqlDriver::TableName)));            where.append(d->escapedRelationField(tableName(), rec.fieldName(i)));            where.append(QLatin1Char('='));            where.append(d->escapedRelationField(relTableAlias, relation.indexColumn()));            where.append(QLatin1String(" AND "));        } else {            fList.append(d->escapedRelationField(tableName(), rec.fieldName(i)));            fList.append(QLatin1Char(','));        }    }    if (!tables.isEmpty())        tList.append(tables.join(QLatin1String(","))).append(QLatin1String(","));    if (fList.isEmpty())        return query;    tList.prepend(QLatin1Char(',')).prepend(d->db.driver()->escapeIdentifier(tableName(),                QSqlDriver::TableName));    // truncate tailing comma    tList.chop(1);    fList.chop(1);    query.append(QLatin1String("SELECT "));    query.append(fList).append(QLatin1String(" FROM ")).append(tList);    if (!where.isEmpty())        where.chop(5);    qAppendWhereClause(query, where, filter());    QString orderBy = orderByClause();    if (!orderBy.isEmpty())        query.append(QLatin1Char(' ')).append(orderBy);    return query;}/*!    Returns a QSqlTableModel object for accessing the table for which    \a column is a foreign key, or 0 if there is no relation for the    given \a column.    The returned object is owned by the QSqlRelationalTableModel.    \sa setRelation(), relation()*/QSqlTableModel *QSqlRelationalTableModel::relationModel(int column) const{    Q_D(const QSqlRelationalTableModel);    QRelation relation = d->relations.value(column);    if (!relation.rel.isValid())        return 0;    QSqlTableModel *childModel = relation.model;    if (!childModel) {        childModel = new QSqlTableModel(const_cast<QSqlRelationalTableModel *>(this), database());        childModel->setTable(relation.rel.tableName());        childModel->select();        d->relations[column].model = childModel;    }    return childModel;}/*!    \reimp*/void QSqlRelationalTableModel::revertRow(int row){    Q_D(QSqlRelationalTableModel);    for (int i = 0; i < d->relations.count(); ++i)        d->relations[i].displayValues.remove(row);    QSqlTableModel::revertRow(row);}/*!    \reimp*/void QSqlRelationalTableModel::clear(){    Q_D(QSqlRelationalTableModel);    d->clearChanges();    d->relations.clear();    QSqlTableModel::clear();}/*!    \reimp*/bool QSqlRelationalTableModel::select(){    return QSqlTableModel::select();}/*!    \reimp*/void QSqlRelationalTableModel::setTable(const QString &table){    Q_D(QSqlRelationalTableModel);    // memorize the table before applying the relations    d->baseRec = d->db.record(table);    QSqlTableModel::setTable(table);}/*! \internal */void QSqlRelationalTableModelPrivate::translateFieldNames(int row, QSqlRecord &values) const{    Q_Q(const QSqlRelationalTableModel);    for (int i = 0; i < values.count(); ++i) {        int realCol = q->indexInQuery(q->createIndex(row, i)).column();        if (realCol != -1 && relations.value(realCol).rel.isValid()) {            QVariant v = values.value(i);            values.replace(i, baseRec.field(realCol));            values.setValue(i, v);        }    }}/*!    \reimp*/bool QSqlRelationalTableModel::updateRowInTable(int row, const QSqlRecord &values){    Q_D(QSqlRelationalTableModel);    QSqlRecord rec = values;    d->translateFieldNames(row, rec);    return QSqlTableModel::updateRowInTable(row, rec);}/*!    \reimp*/bool QSqlRelationalTableModel::insertRowIntoTable(const QSqlRecord &values){    Q_D(QSqlRelationalTableModel);    QSqlRecord rec = values;    d->translateFieldNames(0, rec);    return QSqlTableModel::insertRowIntoTable(rec);}/*!    \reimp*/QString QSqlRelationalTableModel::orderByClause() const{    Q_D(const QSqlRelationalTableModel);    const QSqlRelation rel = d->relations.value(d->sortColumn).rel;    if (!rel.isValid())        return QSqlTableModel::orderByClause();    QString s = QLatin1String("ORDER BY ");    s.append(d->escapedRelationField(QLatin1String("relTblAl_") + QString::number(d->sortColumn),                    rel.displayColumn()));    s += d->sortOrder == Qt::AscendingOrder ? QLatin1String(" ASC") : QLatin1String(" DESC");    return s;}/*!    \reimp*/bool QSqlRelationalTableModel::removeColumns(int column, int count, const QModelIndex &parent){    Q_D(QSqlRelationalTableModel);    if (parent.isValid() || column < 0 || column + count > d->rec.count())        return false;    for (int i = 0; i < count; ++i) {        d->baseRec.remove(column);        if (d->relations.count() > column)            d->relations.remove(column);    }    return QSqlTableModel::removeColumns(column, count, parent);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品亲子乱子伦xxxx裸| 亚洲老妇xxxxxx| 成人午夜碰碰视频| 丝袜美腿一区二区三区| 国产女人18毛片水真多成人如厕 | 精品一区二区免费| 亚洲精品国产精品乱码不99| 久久综合狠狠综合久久激情 | 欧美性大战久久久久久久蜜臀| 国产一区二区三区在线观看精品| 亚洲午夜影视影院在线观看| 国产日韩精品一区| 欧美电影免费观看高清完整版在线| 国产精品久久久久久久第一福利 | 天堂久久久久va久久久久| 国产精品女人毛片| 久久久久亚洲蜜桃| 日韩精品影音先锋| 欧美日本在线看| 91久久精品一区二区三| 国产·精品毛片| 国产麻豆日韩欧美久久| 激情五月婷婷综合网| 首页亚洲欧美制服丝腿| 亚洲一区二区美女| 夜夜夜精品看看| 依依成人精品视频| **欧美大码日韩| 亚洲欧洲日韩综合一区二区| 精品999久久久| 精品国产一区二区三区不卡 | 久久精品亚洲国产奇米99| 欧美一区二区视频免费观看| 欧美伦理视频网站| 一本久久a久久精品亚洲| 99久久久国产精品免费蜜臀| 成人午夜av在线| 国产·精品毛片| 99在线视频精品| 国产亚洲一区二区在线观看| 欧美sm美女调教| 精品精品国产高清a毛片牛牛| 日韩免费高清av| 26uuu精品一区二区| 欧美成人国产一区二区| 欧美精品一区二区三区在线| 久久综合五月天婷婷伊人| 久久综合狠狠综合久久综合88| 久久久精品国产免大香伊| 国产农村妇女毛片精品久久麻豆 | 国产大片一区二区| 高清视频一区二区| 91在线视频观看| 在线视频一区二区三| 欧美午夜精品一区二区蜜桃| 欧美美女bb生活片| 欧美电影免费观看高清完整版| 久久免费午夜影院| 国产精品麻豆久久久| 一区二区视频在线| 日韩精品亚洲专区| 国内成+人亚洲+欧美+综合在线 | 欧洲精品在线观看| 在线播放/欧美激情| 26uuu欧美日本| 国产精品久久久久久久蜜臀| 一区二区国产盗摄色噜噜| 午夜精品成人在线| 国产最新精品精品你懂的| 成人av网址在线| 精品视频123区在线观看| 欧美电视剧在线观看完整版| 国产日韩欧美在线一区| av高清久久久| 欧美日韩国产小视频| 久久综合色之久久综合| 亚洲女厕所小便bbb| 美女尤物国产一区| 99热精品国产| 日韩精品一区二区三区中文精品 | 欧美国产乱子伦| 亚洲亚洲人成综合网络| 加勒比av一区二区| 一本大道久久a久久综合| 91精品国产综合久久婷婷香蕉 | 国产亚洲综合性久久久影院| 亚洲另类一区二区| 精品一区二区三区视频| 91毛片在线观看| 欧美成va人片在线观看| 亚洲美女视频在线观看| 国产麻豆91精品| 欧美精品777| 国产精品久久久久久亚洲伦| 毛片不卡一区二区| 欧洲精品视频在线观看| 日本一区二区不卡视频| 免费成人小视频| 欧美三级电影在线观看| 中文字幕在线不卡一区二区三区| 日本视频在线一区| 91蜜桃视频在线| 国产亚洲综合在线| 日本麻豆一区二区三区视频| 色国产精品一区在线观看| 久久蜜桃av一区精品变态类天堂| 午夜激情久久久| 色8久久精品久久久久久蜜| 欧美激情在线一区二区| 久久精品国产一区二区| 欧美精选一区二区| 一区二区三区毛片| 99久久er热在这里只有精品15| 久久婷婷久久一区二区三区| 琪琪一区二区三区| 欧美久久久久久久久久| 亚洲国产婷婷综合在线精品| 色欧美日韩亚洲| 亚洲欧美精品午睡沙发| 高清日韩电视剧大全免费| 久久先锋资源网| 国内一区二区视频| 欧美成人在线直播| 日本 国产 欧美色综合| 欧美老女人第四色| 亚洲大型综合色站| 欧美亚洲高清一区二区三区不卡| 专区另类欧美日韩| 91亚洲精品乱码久久久久久蜜桃| 国产精品嫩草99a| 成人一区在线看| 国产欧美日产一区| 久久久99精品久久| 精彩视频一区二区| 精品国精品国产| 国产自产v一区二区三区c| 日韩你懂的在线播放| 蜜臀av性久久久久蜜臀av麻豆| 51精品秘密在线观看| 日本亚洲电影天堂| 欧美一区二区在线免费观看| 丝袜a∨在线一区二区三区不卡| 欧美影视一区在线| 婷婷久久综合九色国产成人| 欧美久久久久久蜜桃| 日产精品久久久久久久性色| 欧美成人性战久久| 黄页网站大全一区二区| 国产婷婷一区二区| 99综合影院在线| 一区二区三区av电影| 欧美日韩卡一卡二| 蜜臀久久久久久久| 久久综合色天天久久综合图片| 国产成人在线免费观看| 国产精品女同一区二区三区| 色88888久久久久久影院按摩 | 成人精品电影在线观看| 中文字幕一区二区三区色视频| 91美女福利视频| 亚洲v中文字幕| 亚洲精品一区二区三区99| 波多野结衣欧美| 亚洲成人在线观看视频| 日韩精品一区二区三区视频| 盗摄精品av一区二区三区| 一区二区三区影院| 欧美一级艳片视频免费观看| 国产不卡视频在线播放| 伊人色综合久久天天人手人婷| 欧美精品少妇一区二区三区| 国产一区二区三区久久久| 亚洲人成精品久久久久| 5858s免费视频成人| 成人激情图片网| 日韩国产高清影视| 国产日韩欧美a| 欧美日韩小视频| 成人综合婷婷国产精品久久蜜臀| 一区二区三区免费| 久久嫩草精品久久久精品| 欧美在线不卡一区| 国产精品一区二区在线看| 亚洲资源中文字幕| 国产嫩草影院久久久久| 欧美日韩在线不卡| 成人综合婷婷国产精品久久免费| 香蕉久久一区二区不卡无毒影院| 国产无人区一区二区三区| 欧美日韩国产一级片| 99免费精品在线| 国产一区二区三区最好精华液| 亚洲国产一区二区a毛片| 亚洲国产电影在线观看| 日韩小视频在线观看专区| 91女厕偷拍女厕偷拍高清| 极品瑜伽女神91| 天堂成人免费av电影一区| 中文字幕在线不卡一区二区三区| 精品国产成人系列|