Я написал уже несколько простеньких программ. Больше интересует работа с БД (MYSql). Запустил программки и заметил, что таблица не изменяется
. Пример из
http://doc.crossplatform.ru/qt/4.5.0/qsqltablemodel.html#include <QtDebug>
#include <QtGui>
#include <QSqlTableModel>
#include <QSqlError>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setDatabaseName("testdb");
db.setUserName("root");
db.setPassword("");
if (!db.open())
{
qDebug() << QString::fromLocal8Bit("Не смогла я открыть базу данных") << db.lastError().text();
return -1;
}
QSqlTableModel *model = new QSqlTableModel(0);
model->setTable("artists");
model->setEditStrategy(QSqlTableModel::OnRowChange);//OnFieldChange);//OnManualSubmit);
model->select();
// model->removeColumn(0);//->setColumnHidden(0, true);
QTableView *view = new QTableView;
view->setModel(model);
view->setWindowTitle(QString::fromLocal8Bit("Альбомы"));
view->resize(330,350);
view->show();
int result = app.exec();
delete model;
return result;
}
Что происходит. Никаких сообщений не выдает.
Помогите
Когда исправляю в одной ячейке - все нормально. Исправляю другую и восстанавливается значение в предыдущей (только на экране)