28,27 → 28,6 |
old_value = data(index); |
|
|
/* |
QString str_tmp; |
if (index.column()==1) { // åñëè ìåíÿåì èìÿ êëàññà |
str_tmp = value.toString(); // òî ïîìåíÿåì è èìÿ òàáëèöû |
str_tmp.append(tr(" instance")); |
} |
*/ |
/* |
QString str_tmp; |
if (index.column()==0) { // åñëè ìåíÿåì èìÿ êëàññà |
str_tmp = value.toString(); // òî ïîìåíÿåì è èìÿ òàáëèöû |
str_tmp.append(tr("_instance")); |
} |
*/ |
|
QModelIndex newindex; |
|
|
|
|
|
if (index.column()==1){ // åñëè ïîìåíÿëîñü èìÿ ïîëÿ |
QSqlQuery qu; |
QString old_field_name; // ñòàðîå èìÿ ïîëÿ |
72,43 → 51,12 |
ok = qu.exec(); |
if (!ok) return false; |
} |
/* |
if (!ok) { |
|
QMessageBox::critical( // Äèàëîã ñ ñîîáùåíèåì îá îøèáêå. |
this, // Ðîäèòåëüñêèé âèäæåò. |
QObject::tr("Database Error"), // Çàãîëîâîê. |
qu.lastError().text() ); // Òåêñò ñîîáùåíèÿ. |
|
return ok; // âûõîäèì íå ïðèìåíÿÿ èçìåíåíèé |
|
} |
|
*/ |
|
|
// rec.setValue(index.column()+2, QVariant(str_tmp)); |
// rec.setGenerated(index.column()+2, true); |
// newindex = MyModel::index(index.row(), index.column()+2); |
// QSqlTableModel::setData(newindex, QVariant(str_tmp), Qt::EditRole); |
|
|
|
/* |
|
if (index.column()==0){ |
rec.setValue(index.column()+3, QVariant(str_tmp)); |
rec.setGenerated(index.column()+3, true); |
newindex = MyModel::index(index.row(), index.column()+3); |
QSqlTableModel::setData(newindex, QVariant(str_tmp), Qt::EditRole); |
} |
*/ |
|
if (index.column()==3){ // åñëè ïîìåíÿëñÿ òèï äàííûõ |
///ALTER TABLE `an_db`.`1_Inctance` MODIFY COLUMN `int` INTEGER; |
|
bool ok; |
///// ok = setData(ModelForDescriptionTable::index(index.row(), 4), QVariant(tr("NULL")), Qt::EditRole); // ñáðîñèì çíà÷åíèå ïî óìîë÷àíèþ |
ok = QSqlTableModel::setData(ModelForDescriptionTable::index(index.row(), 4), QVariant(tr("NULL")), Qt::EditRole); // ñáðîñèì çíà÷åíèå ïî óìîë÷àíèþ |
if (ok) { |
|
131,6 → 79,7 |
} |
else return false; |
} |
|
if (index.column()==4){ // åñëè ïîìåíÿëîñü çíà÷åíèå ïî óìîë÷àíèþ |
///ALTER TABLE `an_db`.`2_Inctance` MODIFY COLUMN `Îò÷åñòâî` CHAR(10) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT 'Èâàíîâè÷'; |
QSqlQuery qu; |
174,18 → 123,43 |
lResult = updateRowInTable(index.row(), rec); |
emit field_changed(); |
/// QSqlTableModel::setData(newindex, QVariant(str_tmp), Qt::EditRole); |
} |
|
|
|
|
return lResult; |
} |
|
|
|
|
bool ModelForDescriptionTable::onlySetData(const QModelIndex &index, const QVariant &value, int role){ |
bool lResult = false; |
|
QSqlRecord rec = record(index.row()); |
rec.setValue(index.column(), value); |
rec.setGenerated(index.column(), true); |
|
|
lResult = QSqlTableModel::setData(index, value, role); |
if (lResult) { |
lResult = updateRowInTable(index.row(), rec); |
// emit field_changed(); |
/// QSqlTableModel::setData(newindex, QVariant(str_tmp), Qt::EditRole); |
} |
|
|
|
|
return lResult; |
|
} |
|
|
|
|
|
QVariant ModelForDescriptionTable::data(const QModelIndex &index, int role) const { |
|
QVariant value = QSqlTableModel::data(index, role); |