「テーブルTABLE_NAMEが見つかりません」というエラーが発生した場合は、存在しないテーブルからデータを取得しようとしていることを意味します。データベースを確認してください。
編集
さて、それはあなたがやったことは奇妙です。これはもっと次のようになります。
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setDatabaseName("customdb");
db.setUserName("root");
db.setPassword("root");
if(!db.open())
QMessageBox::information(this, "Error", "Couldn't open database!");
それはオープンデータベース用です。最初の引用符には、使用するsqlの名前があります。ここでは、利用可能なすべてのSQLプラグインを見つけることができます。データベースに接続すると、いくつかのデータを読み取ることができます。これにQSqlTableModelを使用する場合は、次のように実行できます。
QSqlTableModel *model = new QSqlTableModel(parentObject, db);
model->setTable("employee");
model->setEditStrategy(QSqlTableModel::OnManualSubmit);
model->select();
model->setHeaderData(0, Qt::Horizontal, tr("Name"));
model->setHeaderData(1, Qt::Horizontal, tr("Salary"));
QTableView *view = new QTableView;
view->setModel(model);
view->hideColumn(0); // don't show the ID
view->show();
この簡単な例では、「employee」テーブルから「Name」列と「Salary」列をロードし、「view」QTableViewに表示します。それはあなたがそれをするべき方法です。