15 ClassImp(TSQLiteResult);
20 TSQLiteResult::TSQLiteResult(
void *result)
22 fResult = (sqlite3_stmt *) result;
31 TSQLiteResult::~TSQLiteResult()
40 void TSQLiteResult::Close(Option_t *)
45 sqlite3_finalize(fResult);
52 Bool_t TSQLiteResult::IsValid(Int_t field)
55 Error(
"IsValid",
"result set closed");
58 if (field < 0 || field >= GetFieldCount()) {
59 Error(
"IsValid",
"field index out of bounds");
68 Int_t TSQLiteResult::GetFieldCount()
71 Error(
"GetFieldCount",
"result set closed");
74 return sqlite3_column_count(fResult);
80 const char *TSQLiteResult::GetFieldName(Int_t field)
83 Error(
"GetFieldName",
"result set closed");
86 return sqlite3_column_name(fResult, field);
93 Int_t TSQLiteResult::GetRowCount()
const
102 TSQLRow *TSQLiteResult::Next()
105 Error(
"Next",
"result set closed");
109 int ret = sqlite3_step(fResult);
110 if ((ret != SQLITE_DONE) && (ret != SQLITE_ROW)) {
111 Error(
"Statement",
"SQL Error: %d %s", ret, sqlite3_errmsg(sqlite3_db_handle(fResult)));
114 if (ret == SQLITE_DONE) {
118 return new TSQLiteRow((
void *) fResult, -1);