QTableView



  • На Linux при выводе строковых данных в QTableView возникает ошибка
    qGetStringData: Error while fetching data ( "[FreeTDS][SQL Server]Program type out of range" )
    с цифрами проблем нет, только строки.
    тестил через isql все ок.
    !http://s2.ipicture.ru/uploads/20120321/l1FZR3cI.png!



  • Дайте код вывода строки.



  • при таком подключении выводит названия таблиц корректно и и цифровые значения.
    при выводе строковых данных в таблицу пишет ошибку:qGetStringData: Error while fetching data ( "[FreeTDS][SQL Server]Program type out of range" )
    @QTextCodec *codec = QTextCodec::codecForName("UTF-8");
    QTextCodec::setCodecForTr(codec);
    QTextCodec::setCodecForCStrings(codec);
    QTextCodec::setCodecForLocale(codec);
    QSqlDatabase db;
    db=QSqlDatabase::addDatabase("QODBC");
    db.setHostName("192.168.0.35");
    db.setDatabaseName("SQLOnLine");
    db.setUserName("sa");
    db.setPassword("admin");
    db.open();
    qDebug()<<db.tables();
    QSqlQueryModel *model=new QSqlQueryModel;
    model->setQuery("Select * from Номера;");
    ui->tableView->setModel(model);@
    подключаться через TDS драйвер то выводит корректно только латинские символы.
    @QTextCodec *codec = QTextCodec::codecForName("UTF-8");
    QTextCodec::setCodecForTr(codec);
    QTextCodec::setCodecForCStrings(codec);
    QTextCodec::setCodecForLocale(codec);
    QSqlDatabase db;
    db=QSqlDatabase::addDatabase("QTDS");
    db.setHostName("192.168.0.35");
    db.setDatabaseName("Hotel");
    db.setUserName("sa");
    db.setPassword("admin");
    db.open();
    qDebug()<<db.tables();
    QSqlQueryModel *model=new QSqlQueryModel;
    model->setQuery("Select * from Users;");
    ui->tableView->setModel(model);@
    !http://s2.ipicture.ru/uploads/20120327/GA6QEjHF.png(pic)!
    С кодировками игрался толку 0.
    Странно в первом случае без проблем выводит названия таблиц на русском языке.
    На винде все без проблем работает.



  • Предполагаю, что может с драйверами или либами от ДБ что-то не так. Попробуйте через нативное АПИ какой-то ДБ сделать тоже самое, тогда будет более понятно, где ошибка.
    Но это только предположение, конкретно не знаю, что не так.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.