DB-Verbindung in C++

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

DB-Verbindung in C++

Beitrag von Duff » 23.03.2009 08:46:34

Hallo,

...C++....

Ich würde gerne in einem C++-Programm ein Select-Statement auf einer DB absetzen und das Ergebnis dann "formatiert" ausgeben.
Die Datenbank ist eine Oracle-DB.

Wie muss ich da vorgehen?
Was muss ich beachten?


In der Shell arbeite ich z.B. immer mit sqlplus -s user/pw@db << EOF .... EOF.


Danke.
Oh, yeah!

Spasswolf
Beiträge: 3472
Registriert: 30.11.2005 10:32:22
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Wald

Re: DB-Verbindung in C++

Beitrag von Spasswolf » 23.03.2009 09:32:40

Ich vermute mal, dass du hier fündig wirst:
http://download.oracle.com/docs/cd/B193 ... 94/toc.htm

Benutzeravatar
armin
Beiträge: 2682
Registriert: 17.03.2005 11:49:14

Re: DB-Verbindung in C++

Beitrag von armin » 23.03.2009 11:33:05

Und wenn du das ganze etwas mehr Highlevel haben willst, könntest du darüber nachdenken Qt zu nehmen: http://doc.trolltech.com/4.5/qtsql.html
Formerly known as Trigger.
HP 8510p - Debian Sid
Mitglied des Debian-KDE-Teams

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Re: DB-Verbindung in C++

Beitrag von Duff » 23.03.2009 19:44:54

Wie macht ihr dass denn?


Die Links sehen mir ein wenig sehr komplex aus.
Oh, yeah!

Benutzeravatar
armin
Beiträge: 2682
Registriert: 17.03.2005 11:49:14

Re: DB-Verbindung in C++

Beitrag von armin » 23.03.2009 19:52:27

Ich löse das Problem, in dem ich mich von allem was riecht, aussieht oder sich anhört wie Datenbanken fern bleibe. ;)

Aber schau dir mal http://doc.trolltech.com/4.5/qtsql.html ... -databases ff an. Einfacher wird es nicht würde ich sagen.

Code: Alles auswählen

QSqlDatabase db = QSqlDatabase::addDatabase("QOCI");
db.setHostName("bigblue");
db.setDatabaseName("flightdb");
db.setUserName("acarlson");
db.setPassword("1uTbSbAs");
bool ok = db.open();

QSqlQuery query;
query.exec("SELECT name, salary FROM employee WHERE salary > 50000");

while (query.next()) {
  QString name = query.value(0).toString();
  int salary = query.value(1).toInt();
  qDebug() << name << salary;
}
Formerly known as Trigger.
HP 8510p - Debian Sid
Mitglied des Debian-KDE-Teams

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Re: DB-Verbindung in C++

Beitrag von Duff » 24.03.2009 08:15:20

Muss ich denn dann nicht noch eine Libary installieren um das Modul mit #include <QSqlQuery> einbinden zu können?
Oh, yeah!

Spasswolf
Beiträge: 3472
Registriert: 30.11.2005 10:32:22
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Wald

Re: DB-Verbindung in C++

Beitrag von Spasswolf » 24.03.2009 11:21:03

Ja, leider gibt es in Debian keine libqt4-sql-oci [1], also musst du wohl selber kompilieren [2].

[1] http://packages.debian.org/search?keywo ... ection=all
[2] http://doc.trolltech.com/4.5/sql-driver.html

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Re: DB-Verbindung in C++

Beitrag von Duff » 24.03.2009 11:27:00

Ok, danke.

Scheint aber ein wenig komplizierter zu sein, so wie es in dem Link gelesen habe.

Muss ich mal schauen, ob ich dass so ohne weiteres hinbekomme.
Könnte mir dazu zu Hause eine mysql-Datenbank zum Testen einrichten und dann schauen ob per C++ Abfragen hinbekomme...
Oh, yeah!

Antworten