// Note: added by jokedst /// <summary> /// Gets column name /// </summary> /// <param name="index">index of column</param> /// <returns>Name of column</returns> public string ColumnName(int index) { return(Sqlite3.sqlite3_column_name(vm, index)); }
// private function for creating Column Names // Return number of colums read private int ReadColumnNames(Vdbe vm, DataTable table) { String columnName = ""; int columnType = 0; // returns number of columns returned by statement int columnCount = #if NET_35 Sqlite3.ColumnCount #else Sqlite3.sqlite3_column_count #endif (vm); object[] columnValues = new object[columnCount]; try { // reads columns one by one for (int i = 0; i < columnCount; i++) { columnName = #if NET_35 Sqlite3.ColumnName #else Sqlite3.sqlite3_column_name #endif (vm, i); columnType = #if NET_35 Sqlite3.ColumnType #else Sqlite3.sqlite3_column_type #endif (vm, i); switch (columnType) { case Sqlite3.SQLITE_INTEGER: { // adds new integer column to table table.Columns.Add(columnName, Type.GetType("System.Int64")); break; } case Sqlite3.SQLITE_FLOAT: { table.Columns.Add(columnName, Type.GetType("System.Double")); break; } case Sqlite3.SQLITE_TEXT: { table.Columns.Add(columnName, Type.GetType("System.String")); break; } case Sqlite3.SQLITE_BLOB: { table.Columns.Add(columnName, Type.GetType("System.byte[]")); break; } default: { table.Columns.Add(columnName, Type.GetType("System.String")); break; } } } } catch { return(0); } return(table.Columns.Count); }