Хранилища Subversion OpenInventory

Редакция

Редакция 76 | Редакция 78 | К новейшей редакции | Весь файл | Не учитывать пробелы | Содержимое файла | Авторство | Последнее изменение | Открыть журнал | RSS

Редакция 76 Редакция 77
Строка 40... Строка 40...
40
    if (index.column()==0) {                // åñëè ìåíÿåì èìÿ êëàññà
40
    if (index.column()==0) {                // åñëè ìåíÿåì èìÿ êëàññà
41
        str_tmp = value.toString();         // òî ïîìåíÿåì è èìÿ òàáëèöû
41
        str_tmp = value.toString();         // òî ïîìåíÿåì è èìÿ òàáëèöû
42
        str_tmp.append(tr("_instance"));
42
        str_tmp.append(tr("_instance"));
43
      }
43
      }
44
*/
44
*/
45
    lResult = QSqlTableModel::setData(index, value, role);
-
 
46
    if (lResult) {
-
 
-
 
45
47
        QModelIndex newindex;
46
        QModelIndex newindex;
48
        QSqlRecord rec = record(index.row());
47
        QSqlRecord rec = record(index.row());
49
48
50
        rec.setValue(index.column(), value);
49
        rec.setValue(index.column(), value);
51
        rec.setGenerated(index.column(), true);
50
        rec.setGenerated(index.column(), true);
Строка 104... Строка 103...
104
            newindex = MyModel::index(index.row(), index.column()+3);
103
            newindex = MyModel::index(index.row(), index.column()+3);
105
            QSqlTableModel::setData(newindex, QVariant(str_tmp), Qt::EditRole);
104
            QSqlTableModel::setData(newindex, QVariant(str_tmp), Qt::EditRole);
106
        }
105
        }
107
*/
106
*/
108
107
-
 
108
        if (index.column()==3){ // åñëè ïîìåíÿëñÿ òèï äàííûõ
-
 
109
///ALTER TABLE `an_db`.`1_Inctance` MODIFY COLUMN `int` INTEGER;
-
 
110
            QSqlQuery qu;
-
 
111
            QString old_type, new_type, field_name, query_str;
-
 
112
            old_type = old_value.toString(); // îïðåäåëèì òåêóùèé (êîòîðîå íóæíî ïîìåíÿòü) òèï ïîëÿ
-
 
113
            new_type = value.toString(); // íîâûé òèï ïîëÿ
-
 
114
            field_name = data(ModelForDescriptionTable::index(index.row(), 1)).toString(); // èìÿ ïîëÿ õðàíèòüñÿ â 1 ñòîëáöå, ñ÷èòûâàåì åãî çíà÷åíèå
-
 
115
            query_str = tr("ALTER TABLE ");
-
 
116
            query_str.append(ModelForDescriptionTable::Inctance);
-
 
117
            query_str.append(tr(" MODIFY COLUMN `"));
-
 
118
            query_str.append(field_name);
-
 
119
            query_str.append(tr("` "));
-
 
120
            query_str.append(new_type);
-
 
121
            qu.prepare(query_str);
-
 
122
            bool ok;
-
 
123
            ok = qu.exec();
-
 
124
            if (!ok) return false;
-
 
125
-
 
126
        }
-
 
127
-
 
128
        lResult = QSqlTableModel::setData(index, value, role);
-
 
129
        if (lResult) {
109
        lResult = updateRowInTable(index.row(), rec);
130
        lResult = updateRowInTable(index.row(), rec);
110
        emit field_name_changed();
131
        emit field_changed();
111
  ///      QSqlTableModel::setData(newindex, QVariant(str_tmp), Qt::EditRole);
132
  ///      QSqlTableModel::setData(newindex, QVariant(str_tmp), Qt::EditRole);
112
133
113
134
114
    }
135
    }
-
 
136
-
 
137
-
 
138
-
 
139
115
    return lResult;
140
    return lResult;
116
}
141
}
117
142
118
143
119
144