~ubuntu-branches/debian/sid/kexi/sid

« back to all changes in this revision

Viewing changes to src/tests/newapi/mysqlcursor.cpp

  • Committer: Package Import Robot
  • Author(s): Pino Toscano
  • Date: 2017-06-24 20:10:10 UTC
  • Revision ID: package-import@ubuntu.com-20170624201010-5lrzd5r2vwthwifp
Tags: upstream-3.0.1.1
ImportĀ upstreamĀ versionĀ 3.0.1.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
 
 
2
#include <KDbDriverManager>
 
3
#include <KDbDriver>
 
4
#include <KDbConnection>
 
5
#include <KDbCursor>
 
6
 
 
7
#include <KComponentData>
 
8
 
 
9
#include <QDebug>
 
10
 
 
11
int main(int argc, char * argv[])
 
12
{
 
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)
 
18
        qDebug() << *it;
 
19
    if (manager.error()) {
 
20
        qDebug() << manager.errorMsg();
 
21
        return 1;
 
22
    }
 
23
 
 
24
    //get driver
 
25
    KDbDriver *driver = manager.driver("mySQL");
 
26
    if (manager.error()) {
 
27
        qDebug() << manager.errorMsg();
 
28
        return 1;
 
29
    }
 
30
 
 
31
    //connection data that can be later reused
 
32
    KDbConnectionData conn_data;
 
33
 
 
34
    conn_data.userName = "root";
 
35
    if (argc > 1)
 
36
        conn_data.setPassword(argv[1]);
 
37
    else
 
38
        conn_data.setPassword("mysql");
 
39
    conn_data.setHostName("localhost");
 
40
 
 
41
    KDbConnection *conn = driver->createConnection(conn_data);
 
42
    if (driver->error()) {
 
43
        qDebug() << driver->errorMsg();
 
44
        return 1;
 
45
    }
 
46
    if (!conn->connect()) {
 
47
        qDebug() << conn->errorMsg();
 
48
        return 1;
 
49
    }
 
50
    if (!conn->useDatabase("test")) {
 
51
        qDebug() << "use db:" << conn->errorMsg();
 
52
        return 1;
 
53
    }
 
54
 
 
55
    qDebug() << "Creating first cursor";
 
56
    KDbCursor *c = conn->executeQuery("select * from Applications");
 
57
    if (!c)
 
58
        qDebug() << conn->errorMsg();
 
59
    qDebug() << "Creating second cursor";
 
60
    KDbCursor *c2 = conn->executeQuery("select * from Applications");
 
61
    if (!c2)
 
62
        qDebug() << conn->errorMsg();
 
63
 
 
64
    QStringList l = conn->databaseNames();
 
65
    if (l.isEmpty())
 
66
        qDebug() << conn->errorMsg();
 
67
    qDebug() << "Databases:";
 
68
    for (QStringList::ConstIterator it = l.constBegin(); it != l.constEnd() ; ++it)
 
69
        qDebug() << *it;
 
70
 
 
71
    if (c) {
 
72
        while (c->moveNext()) {
 
73
            qDebug() << "Cursor: Value(0)" << c->value(0).toString();
 
74
            qDebug() << "Cursor: Value(1)" << c->value(1).toString();
 
75
        }
 
76
        qDebug() << "Cursor error:" << c->errorMsg();
 
77
    }
 
78
    if (c2) {
 
79
        while (c2->moveNext()) {
 
80
            qDebug() << "Cursor2: Value(0)" << c2->value(0).toString();
 
81
            qDebug() << "Cursor2: Value(1)" << c2->value(1).toString();
 
82
        }
 
83
    }
 
84
    if (c) {
 
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();
 
89
 
 
90
        }
 
91
        qDebug() << "up/down";
 
92
        c->moveNext();
 
93
        qDebug() << "Cursor: Value(0)" << c->value(0).toString();
 
94
        qDebug() << "Cursor: Value(1)" << c->value(1).toString();
 
95
        c->moveNext();
 
96
        qDebug() << "Cursor: Value(0)" << c->value(0).toString();
 
97
        qDebug() << "Cursor: Value(1)" << c->value(1).toString();
 
98
        c->movePrev();
 
99
        qDebug() << "Cursor: Value(0)" << c->value(0).toString();
 
100
        qDebug() << "Cursor: Value(1)" << c->value(1).toString();
 
101
        c->movePrev();
 
102
        qDebug() << "Cursor: Value(0)" << c->value(0).toString();
 
103
        qDebug() << "Cursor: Value(1)" << c->value(1).toString();
 
104
    }
 
105
#if 0
 
106
    KDbTableSchema *t = conn->tableSchema("persons");
 
107
    if (t)
 
108
        qDebug() << *t;
 
109
    t = conn->tableSchema("cars");
 
110
    if (t)
 
111
        qDebug() << *t;
 
112
 
 
113
// conn->tableNames();
 
114
 
 
115
    if (!conn->disconnect()) {
 
116
        qDebug() << conn->errorMsg();
 
117
        return 1;
 
118
    }
 
119
    debug("before del");
 
120
    delete conn;
 
121
    debug("after del");
 
122
#endif
 
123
    return 0;
 
124
}