1 | /* |
2 | * This file is part of Soprano Project |
3 | * |
4 | * Copyright (C) 2009 Sebastian Trueg <trueg@kde.org> |
5 | * |
6 | * This library is free software; you can redistribute it and/or |
7 | * modify it under the terms of the GNU Library General Public |
8 | * License as published by the Free Software Foundation; either |
9 | * version 2 of the License, or (at your option) any later version. |
10 | * |
11 | * This library is distributed in the hope that it will be useful, |
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
14 | * Library General Public License for more details. |
15 | * |
16 | * You should have received a copy of the GNU Library General Public License |
17 | * along with this library; see the file COPYING.LIB. If not, write to |
18 | * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
19 | * Boston, MA 02110-1301, USA. |
20 | */ |
21 | |
22 | #ifndef _SOPRANO_ODBC_QUERY_RESULT_H_ |
23 | #define _SOPRANO_ODBC_QUERY_RESULT_H_ |
24 | |
25 | #include <QtCore/qglobal.h> |
26 | #include "error.h" |
27 | #ifdef Q_OS_WIN |
28 | #include <windows.h> |
29 | #endif |
30 | #include <sql.h> |
31 | |
32 | namespace Soprano { |
33 | |
34 | class Node; |
35 | |
36 | namespace ODBC { |
37 | |
38 | class QueryResultPrivate; |
39 | class Connection; |
40 | |
41 | class QueryResult : public Error::ErrorCache |
42 | { |
43 | public: |
44 | ~QueryResult(); |
45 | |
46 | QStringList resultColumns(); |
47 | bool fetchRow(); |
48 | Node getData( int colNum ); |
49 | |
50 | /// Check if the data in column colNum is a BLOB. used in Virtuoso::QueryResultIteratorBackend |
51 | bool isBlob( int colNum ); |
52 | |
53 | private: |
54 | QueryResult(); |
55 | |
56 | bool getCharData( int colNum, SQLCHAR** buffer, SQLLEN* length ); |
57 | |
58 | QueryResultPrivate* const d; |
59 | |
60 | friend class Connection; |
61 | }; |
62 | } |
63 | } |
64 | |
65 | #endif |
66 | |
67 | |