Qt
Aus Mein MediaWiki
(Unterschied zwischen Versionen)
Mali (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „ == MySQL == //--- use a QTextStream: it makes it easier to output --- //--- QString to cout. --- QTextStream cout(st…“) |
Mali (Diskussion | Beiträge) K (→MySQL) |
||
| Zeile 6: | Zeile 6: | ||
//--- QString to cout. --- | //--- QString to cout. --- | ||
QTextStream cout(stdout, QIODevice::WriteOnly); | QTextStream cout(stdout, QIODevice::WriteOnly); | ||
| - | + | ||
//--- define the database connection --- | //--- define the database connection --- | ||
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); | QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); | ||
| Zeile 13: | Zeile 13: | ||
db.setUserName("qtuser"); // user | db.setUserName("qtuser"); // user | ||
db.setPassword("qtuser"); // password | db.setPassword("qtuser"); // password | ||
| - | + | ||
//--- attempt to open it --- | //--- attempt to open it --- | ||
bool ok = db.open(); | bool ok = db.open(); | ||
| - | + | ||
if ( ok ) { | if ( ok ) { | ||
//--- we're good! --- | //--- we're good! --- | ||
| Zeile 31: | Zeile 31: | ||
cout << QString( "%1\t%2\n").arg( Id).arg( word ); | cout << QString( "%1\t%2\n").arg( Id).arg( word ); | ||
} | } | ||
| - | + | ||
//--- add a new entry to the table --- | //--- add a new entry to the table --- | ||
query.prepare( "INSERT INTO address (fname, lname) VALUES ( :word, :word ) "); | query.prepare( "INSERT INTO address (fname, lname) VALUES ( :word, :word ) "); | ||
query.bindValue( ":word", "Banana" ); | query.bindValue( ":word", "Banana" ); | ||
query.exec(); | query.exec(); | ||
| - | + | ||
//--- close connection to database | //--- close connection to database | ||
db.close(); | db.close(); | ||
Version vom 21:04, 13. Okt. 2012
MySQL
//--- use a QTextStream: it makes it easier to output ---
//--- QString to cout. ---
QTextStream cout(stdout, QIODevice::WriteOnly);
//--- define the database connection ---
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost"); // host
db.setDatabaseName("qttest"); // database
db.setUserName("qtuser"); // user
db.setPassword("qtuser"); // password
//--- attempt to open it ---
bool ok = db.open();
if ( ok ) {
//--- we're good! ---
cout << "Database open\n";
//--- run a query and print data returned ---
QSqlQuery query( "select * from address" );
if ( !query.isActive() )
cout << "Query Error" + query.lastError().text()
<< endl;
else while (query.next()) {
int Id = query.value(0).toInt();
QString word = query.value(1).toString();
cout << QString( "%1\t%2\n").arg( Id).arg( word );
}
//--- add a new entry to the table ---
query.prepare( "INSERT INTO address (fname, lname) VALUES ( :word, :word ) ");
query.bindValue( ":word", "Banana" );
query.exec();
//--- close connection to database
db.close();
}
else
//--- something went wrong ---
cout << "Error opening database\n";
Quelle: http://cs.smith.edu/dftwiki/index.php/Qt4/Qt-Creator_Read_MySql_Table_%28Console_Mode%29
QT MySQL driver
Unter Ubuntu muss das Paket libqt4-sql-mysql mit sudo apt-get install libqt4-sql-mysql installiert werden.
