本文整理汇总了C++中FLFieldMetaData::isPrimaryKey方法的典型用法代码示例。如果您正苦于以下问题:C++ FLFieldMetaData::isPrimaryKey方法的具体用法?C++ FLFieldMetaData::isPrimaryKey怎么用?C++ FLFieldMetaData::isPrimaryKey使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FLFieldMetaData
的用法示例。
在下文中一共展示了FLFieldMetaData::isPrimaryKey方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: sqlCreateTable
QString SqliteDriver::sqlCreateTable(FLTableMetaData *tmd)
{
#ifndef FL_QUICK_CLIENT
if (!tmd)
return QString::null;
QString primaryKey(QString::null);
QString sql = "CREATE TABLE " + tmd->name() + " (";
FLFieldMetaData *field;
FLTableMetaData::FLFieldMetaDataList *fieldList = tmd->fieldList();
unsigned int unlocks = 0;
QDictIterator<FLFieldMetaData> it(*fieldList);
while ((field = it.current()) != 0) {
++it;
if (field->type() == FLFieldMetaData::Unlock)
unlocks++;
}
if (unlocks > 1) {
#ifdef FL_DEBUG
qWarning("FLManager : " + QApplication::tr("No se ha podido crear la tabla ") + tmd->name());
qWarning("FLManager : " + QApplication::tr("Hay más de un campo tipo unlock. Solo puede haber uno."));
#endif
return QString::null;
}
QDictIterator<FLFieldMetaData> it2(*fieldList);
while ((field = it2.current()) != 0) {
++it2;
sql += field->name();
switch (field->type()) {
case QVariant::Int:
sql += " INTEGER";
break;
case QVariant::UInt:
sql += " INTEGER";
break;
case QVariant::Bool:
case FLFieldMetaData::Unlock:
sql += " BOOLEAN";
break;
case QVariant::Double:
sql += " FLOAT";
break;
case QVariant::Time:
sql += " VARCHAR(20)";
break;
case QVariant::Date:
sql += " VARCHAR(20)";
break;
case QVariant::Pixmap:
sql += " TEXT";
break;
case QVariant::String:
sql += " VARCHAR";
break;
case QVariant::StringList:
sql += " TEXT";
break;
case QVariant::ByteArray:
sql += " CLOB";
break;
case FLFieldMetaData::Serial:
sql += " INTEGER";
if (!field->isPrimaryKey())
sql += " PRIMARY KEY";
break;
}
int longitud = field->length();
if (longitud > 0)
sql += "(" + QString::number(longitud) + ")";
if (field->isPrimaryKey()) {
if (primaryKey.isEmpty()) {
sql += " PRIMARY KEY";
primaryKey = field->name();
} else {
#ifdef FL_DEBUG
qWarning(QApplication::tr("FLManager : Tabla -> ") +
tmd->name() + QApplication::tr(" . Se ha intentado poner una segunda clave primaria para el campo ") +
field->name() + QApplication::tr(" , pero el campo ") + primaryKey +
QApplication::tr(" ya es clave primaria. Sólo puede existir una clave primaria en FLTableMetaData, use FLCompoundKey para crear claves compuestas."));
#endif
return QString::null;
}
} else {
//.........这里部分代码省略.........