2
#include <KDbDriverManager>
4
#include <KDbConnection>
7
#include <KComponentData>
11
int main(int argc, char * argv[])
13
KComponentData componentData("newapi");
14
KDbDriverManager manager;
15
QStringList names = manager.driverNames();
16
qDebug() << "DRIVERS: ";
17
for (QStringList::ConstIterator it = names.constBegin(); it != names.constEnd() ; ++it)
19
if (manager.error()) {
20
qDebug() << manager.errorMsg();
25
KDbDriver *driver = manager.driver("mySQL");
26
if (manager.error()) {
27
qDebug() << manager.errorMsg();
31
//connection data that can be later reused
32
KDbConnectionData conn_data;
34
conn_data.userName = "root";
36
conn_data.setPassword(argv[1]);
38
conn_data.setPassword("mysql");
39
conn_data.setHostName("localhost");
41
KDbConnection *conn = driver->createConnection(conn_data);
42
if (driver->error()) {
43
qDebug() << driver->errorMsg();
46
if (!conn->connect()) {
47
qDebug() << conn->errorMsg();
50
if (!conn->useDatabase("test")) {
51
qDebug() << "use db:" << conn->errorMsg();
55
qDebug() << "Creating first cursor";
56
KDbCursor *c = conn->executeQuery("select * from Applications");
58
qDebug() << conn->errorMsg();
59
qDebug() << "Creating second cursor";
60
KDbCursor *c2 = conn->executeQuery("select * from Applications");
62
qDebug() << conn->errorMsg();
64
QStringList l = conn->databaseNames();
66
qDebug() << conn->errorMsg();
67
qDebug() << "Databases:";
68
for (QStringList::ConstIterator it = l.constBegin(); it != l.constEnd() ; ++it)
72
while (c->moveNext()) {
73
qDebug() << "Cursor: Value(0)" << c->value(0).toString();
74
qDebug() << "Cursor: Value(1)" << c->value(1).toString();
76
qDebug() << "Cursor error:" << c->errorMsg();
79
while (c2->moveNext()) {
80
qDebug() << "Cursor2: Value(0)" << c2->value(0).toString();
81
qDebug() << "Cursor2: Value(1)" << c2->value(1).toString();
85
qDebug() << "Cursor::prev";
86
while (c->movePrev()) {
87
qDebug() << "Cursor: Value(0)" << c->value(0).toString();
88
qDebug() << "Cursor: Value(1)" << c->value(1).toString();
91
qDebug() << "up/down";
93
qDebug() << "Cursor: Value(0)" << c->value(0).toString();
94
qDebug() << "Cursor: Value(1)" << c->value(1).toString();
96
qDebug() << "Cursor: Value(0)" << c->value(0).toString();
97
qDebug() << "Cursor: Value(1)" << c->value(1).toString();
99
qDebug() << "Cursor: Value(0)" << c->value(0).toString();
100
qDebug() << "Cursor: Value(1)" << c->value(1).toString();
102
qDebug() << "Cursor: Value(0)" << c->value(0).toString();
103
qDebug() << "Cursor: Value(1)" << c->value(1).toString();
106
KDbTableSchema *t = conn->tableSchema("persons");
109
t = conn->tableSchema("cars");
113
// conn->tableNames();
115
if (!conn->disconnect()) {
116
qDebug() << conn->errorMsg();