From 134efd639244d94ffd112f97e80e6d93651ddb5f Mon Sep 17 00:00:00 2001 From: "Jack.Yuan" Date: Fri, 17 Apr 2015 15:58:36 +0800 Subject: [PATCH] Update Statement.cpp --- src/Statement.cpp | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/Statement.cpp b/src/Statement.cpp index d606e4d..ac18de4 100644 --- a/src/Statement.cpp +++ b/src/Statement.cpp @@ -256,6 +256,33 @@ Column Statement::getColumn(const int aIndex) return Column(mStmtPtr, aIndex); } +// Return a copy of the column data specified by its column name starting at 0 +// (use the Column copy-constructor) +Column Statement::getColumn(const char* aName) +{ + int aIndex = -1; + + if (false == mbOk) + { + throw SQLite::Exception("No row to get a column from"); + } + else + { + for (int i = 0; i < mColumnCount; i++) { + if (sqlite3_column_name(mStmtPtr, i) == aName) + break; + } + + if ((aIndex < 0) || (aIndex >= mColumnCount)) { + throw SQLite::Exception("Column index out of range"); + } + + } + + // Share the Statement Object handle with the new Column created + return Column(mStmtPtr, aIndex); +} + // Test if the column is NULL bool Statement::isColumnNull(const int aIndex) const {