August 1, 2012

oggie oggie
Lab Rat
5 posts

Salida standard no hace nada

 

Hola,

Soy nuevo en esto y trato de aprender. He buscado un ejemplo en internet que vuelca el contenido de una tabla MySQL en la consola (salida standard).

Este es mi código,

  1. #include <QtCore/QCoreApplication>
  2. #include <QtSql>
  3. // #include <qtextstream.h>
  4. #include <QTextStream>
  5. #include <QString>
  6. #include <iostream>
  7.  
  8. using namespace std;
  9.  
  10. int main(int argc, char *argv[]) {
  11.     QCoreApplication a(argc, argv);
  12.     //--- use a QTextStream: it makes it easier to output ---
  13.     //--- QString to cout.                                ---
  14.     QTextStream cout(stdout, QIODevice::WriteOnly);
  15.  
  16.     //--- define the database connection ---
  17.     QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
  18.     db.setHostName("localhost");  // host
  19.     db.setDatabaseName("QtDummy");            // database
  20.     db.setUserName("miuser");                // user
  21.     db.setPassword("mipass");               // password
  22.  
  23.     //--- attempt to open it ---
  24.     bool ok = db.open();
  25.  
  26.     if ( ok ) {
  27.         //--- we're good! ---
  28.         cout << "Database open\n";
  29.  
  30.         //--- run a query and print data returned ---
  31.         QSqlQuery query( "select * from dummy" );
  32.         if ( !query.isActive() )
  33.             cout << "Query Error" + query.lastError().text()
  34.                  << endl;
  35.         else while (query.next()) {
  36.                 int Id = query.value(0).toInt();
  37.                 QString word = query.value(1).toString();
  38.                 cout << QString( "%1\t%2\n").arg( Id ).arg( word );
  39.                 }
  40.  
  41.         //--- add a new entry to the table ---
  42.         query.prepare( "INSERT INTO dummy (word) VALUES ( :word )" );
  43.         query.bindValue( ":word", "Banana" );
  44.         query.exec();
  45.  
  46.         //--- close connection to database
  47.         db.close();
  48.     }
  49.     else {
  50.         //--- something went wrong ---
  51.         cout << "Error opening database\n";
  52.     }
  53.  
  54.     return 0;
  55. }

La questión es que no sale nada, ni mensaje de warning,
ni mensaje de error ni resultados en la consulta.

He comentado el código y poner solo cout << “Hola mundo\n” y tampoco
sale nada.

Trabajo con Qt Creator 2.4.1 en Ubuntu 12.04.

Gracias de antemano,
oggie

1 reply

August 1, 2012

oggie oggie
Lab Rat
5 posts

Aquí está la respuesta a mi problema,

Configurar terminal [qt-project.org]

Con esto ya funciona bien.

Un saludo,
oggie

 
  ‹‹ Driver para PostgreSQL en Windows      QPushButton delegate en QTableView ››

You must log in to post a reply. Not a member yet? Register here!