/// <summary> /// Returns Result column as Text /// </summary> /// <returns>Result column</returns> public string Result_Text(int index) { return(Sqlite3.sqlite3_column_text(vm, index)); }
// private function for reading rows and creating table and columns private int ReadNextRow(Vdbe vm, DataTable table) { int columnCount = table.Columns.Count; if (columnCount == 0) { if ((columnCount = ReadColumnNames(vm, table)) == 0) { return(Sqlite3.SQLITE_ERROR); } } int resultType; if ((resultType = #if NET_35 Sqlite3.Step #else Sqlite3.sqlite3_step #endif (vm)) == Sqlite3.SQLITE_ROW) { object[] columnValues = new object[columnCount]; for (int i = 0; i < columnCount; i++) { int columnType = #if NET_35 Sqlite3.ColumnType #else Sqlite3.sqlite3_column_type #endif (vm, i); switch (columnType) { case Sqlite3.SQLITE_INTEGER: { table.Columns[i].DataType = typeof(Int64); columnValues[i] = #if NET_35 Sqlite3.ColumnInt #else Sqlite3.sqlite3_column_int #endif (vm, i); break; } case Sqlite3.SQLITE_FLOAT: { table.Columns[i].DataType = typeof(Double); columnValues[i] = #if NET_35 Sqlite3.ColumnDouble #else Sqlite3.sqlite3_column_double #endif (vm, i); break; } case Sqlite3.SQLITE_TEXT: { table.Columns[i].DataType = typeof(String); columnValues[i] = #if NET_35 Sqlite3.ColumnText #else Sqlite3.sqlite3_column_text #endif (vm, i); break; } case Sqlite3.SQLITE_BLOB: { table.Columns[i].DataType = typeof(Byte[]); columnValues[i] = #if NET_35 Sqlite3.ColumnBlob #else Sqlite3.sqlite3_column_blob #endif (vm, i); break; } default: { table.Columns[i].DataType = null; columnValues[i] = ""; break; } } } table.Rows.Add(columnValues); } return(resultType); }