Testing Complete.
[asgard.git] / src / RowSet.cpp
blob37e32da770134785fd3019153df04a5a7780a405
1 /*****************************************************************************
2 * Copyright (c) 2007 Russ Adams, Sean Eubanks, Asgard Contributors
3 * This file is part of Asgard.
4 *
5 * Asgard is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
10 * Asgard is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with Asgard; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18 ****************************************************************************/
20 #include "RowSet.h"
21 #include <sqlite3.h>
23 RowSet::RowSet()
25 table = NULL;
26 rowCount = 0;
27 colCount = 0;
28 errorMsg = "";
32 int RowSet::select(sqlite3 * db, const char* query)
34 char queryCpy[2048];
35 int rc;
36 //char* error;
38 strcpy(queryCpy,query);
40 rc = sqlite3_get_table(
41 db,
42 queryCpy,
43 &(this->table),
44 &(this->rowCount),
45 &(this->colCount),
46 0);
47 //&error);
49 //this->errorMsg = error;
51 return rc;
55 const char* RowSet::getColumnValue(int row, int column)
57 char* columnValue;
59 columnValue = table[(row + 1) * colCount + column];
61 return columnValue;
66 int RowSet::getRowCount()
68 return this->rowCount;
72 int RowSet::getColCount()
74 return this->colCount;
79 std::string RowSet::getError()
81 std::string * error = new std::string(this->errorMsg);
83 return *error;
88 RowSet::~RowSet()
90 if (table != NULL)
92 sqlite3_free(table);