Есть код:
QSqlDatabase db = QSqlDatabase::addDatabase("QIBASE");
db.setHostName(ui->lEHostName->text());
db.setDatabaseName(ui->lEDatabaseName->text());
db.setUserName(ui->lEUserName->text());
db.setPassword(ui->lEPasswor->text());
if(db.open())
{
QSqlTableModel model = new QSqlTableModel(this, db);
model.setTable("table1");
model.setHeaderData(0, Qt::Horizontal, "id"); // .setHeaderData(0, Qt::Horizontal, “id”);
model.setHeaderData(1, Qt::Horizontal, "firstname");
model.setHeaderData(1, Qt::Horizontal, "lastname");
model.select();
ui->tableView->setModel(&model);
ui->tableView->resizeColumnsToContents();
db.close();
}
else
{
QMessageBox::warning(0 , "Error !", db.lastError().databaseText());
}
C:/Qt/2010.02.1/qt/FireBird_1/mainwindow.cpp:49: error: conversion from 'QSqlTableModel*' to non-scalar type 'QSqlTableModel' requested
...
QSqlTableModel model = new QSqlTableModel(this); // Тут к БД model не привязана ни как, да и не работает код всё равно :(
...
model->
вместо
model.
Спасибо !!!
+ надо было так:
QSqlTableModel *model;
model = new QSqlTableModel(this, db);
QSqlTableModel model = new QSqlTableModel(this, db);
potkin, если это не просто опечатка была, то срочно открывай книжку по C++ - читай про указатели
Алексей1153,
Мой путь:
Delphi 1-2005 + Builder -> MVS 2005-2008 (.NET 2.0-3.5, C#) -> C++ (Qt)
C++ не знаю, только счас изучаю.
potkin, неважен путь (а в Дельфи чай тоже указатели используются) , это же основы. Ну так то да, шарп у тебя был лишний - он расхолаживает, ну а C++ сам по себе с Qt не связан, это самостоятельный язык.
В шарпе имеется различие на структурные типы и ссылочные. Первые можно создавать на стеке, вторые - только в куче, а запись вида
A a= new A(...);
A a(...);
BYTE Array1[0xffffff];// - нельзя так создавать на стеке
BYTE* Array2=new BYTE[0xffffff];// зато в куче можно
Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)