Редакция 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 |