372,3 → 372,48 |
|
} |
|
|
/******************************************************** |
* Ôóíêöèÿ âîçâðàùàåò ñïèñîê "äî÷åðíèõ" êëàññîâ |
* |
* |
* |
********************************************************/ |
|
QStringList MainWindow::classChields(QString class_id){ |
// QMap<QString, QString> map; |
// TClass class_tmp; |
// QList <TClass> chields_class_list; // ñïèñîê äî÷åðíèõ êëàññîâ |
QStringList result; |
QSqlQuery q; |
QString sql_str; |
QString classIdentifer_str; // â ýòîì ïîëå ëåæèò èäåíòèôèêàòîð êëàññà-êîíòåéíåðà |
QString field_id_str; |
bool ok; |
int field_classIdentifer; |
sql_str = tr("select * " |
" from DescriptionOfClasses where DescriptionOfClasses.DefaultValue = '" //îïðåäåëèì êëàññû, äëÿ êîòîðûõ êîðíåâîé ÿâëÿåòñÿ êîíòåéíåðîì |
); |
sql_str.append(class_id); |
|
sql_str.append(tr("' and DescriptionOfClasses.FieldType = 'pointer' ")); |
|
q.prepare(sql_str); |
|
ok = q.exec(); |
if (!ok) { |
QMessageBox::critical( // Äèàëîã ñ ñîîáùåíèåì îá îøèáêå. |
this, // Ðîäèòåëüñêèé âèäæåò. |
QObject::tr("Database Error"), // Çàãîëîâîê. |
q.lastError().text()); // Òåêñò ñîîáùåíèÿ. |
} |
field_classIdentifer = q.record().indexOf(tr("ClassIdentifer")); |
while(q.next()){ |
|
classIdentifer_str = q.value(field_classIdentifer).toString(); |
result.append(classIdentifer_str); |
} |
|
return result; |
|
} |