Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: QSqlTableModel Unable to find table
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Разработка баз данных
neneTc
Здравствуйте! Возникла проблема при создании QSqlTableModel. Объявляю и инициализирую правильно, а все равно каждый раз QSqlError(-1, "Unable to find table ", ""). Дело точно не в таблице, в других программах отображается правильно.
Объявляю в модуле класса как указатель, инициализирую по открытию подключения:
    myMySQLCon=QSqlDatabase();
    myMySQLCon.close();
    QSqlDatabase::removeDatabase("DataServer");
    myMySQLCon=QSqlDatabase::addDatabase("QMYSQL", "DataServer");
    myMySQLCon.setHostName(gHost);
    myMySQLCon.setUserName(gUser);
    myMySQLCon.setPassword(gPass);
    myMySQLCon.setPort(gPort);
    myMySQLCon.setDatabaseName("ForTest");
    if(myMySQLCon.open())
    {
        tableMdl=new QSqlTableModel(this);
        tableMdl->setTable("Test1");
        tableMdl->setEditStrategy(QSqlTableModel::OnManualSubmit);
        tableMdl->select();
        qDebug()<<tableMdl->lastError();
        ui->tableView->setModel(tableMdl);
    }

Помогите пожалуйста, очень нужно.
Litkevich Yuriy
Цитата(neneTc @ 5.6.2010, 22:34) *
Test1
имя содержит символы в разном регистре. Начиная с Qt 4.5 это приводит к проблемам.
Возможный выход:
tableMdl->setTable(myMySQLCon.driver()->escapeIdentifier("ForTest", QSqlDriver::TableName));
Но это может не работать в Qt 4.4 и ниже
neneTc
проблема как-то сама собой решилась, спасибо за внимание!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.