//-------------------------------------------------------------------------------------------------------------------------stop version 1 //-------------------------------------------------------------------------------------------------------------------------start version 2 // version 2 PK is not first column //private SortedList<long, List<string>> getTableData(string table) //{ // SQLiteRow headRow = getTableFields(table); // SortedList<long, List<string>> dataList = new SortedList<long, List<string>>(); // string queryGetTablesData = $"SELECT * FROM {table}"; // SQLiteCommand sQLiteCommand = new SQLiteCommand(queryGetTablesData, SQLiteConnector.Connection); // SQLiteDataReader qLiteDataReader = sQLiteCommand.ExecuteReader(); // foreach (DbDataRecord rows in qLiteDataReader) // { // List<string> fields = new List<string>(); // for (int i = 0; i < rows.FieldCount; i++) // { // if (!headRow[i].IsPrimaryKey) { // fields.Add(Convert.ToString(rows.GetValue(i)));} // } // dataList.Add(Convert.ToInt64(rows.GetValue(0)), fields); // } // return dataList; //} //-------------------------------------------------------------------------------------------------------------------------stop version 2 private SQLiteRow getTableFields(string table) { SQLiteRow oneRow = null; if (DoesTableExists(table)) { string queryGetTableFields = $"PRAGMA table_info('{table}')"; Console.WriteLine(queryGetTableFields); /*if(SQLiteConnector.Connection.State == System.Data.ConnectionState.Closed) * { * SQLiteConnector.Connection.Open(); * }*/ SQLiteCommand sQLiteCommand = new SQLiteCommand(queryGetTableFields, SQLiteConnector.Connection); SQLiteDataReader qLiteDataReader = sQLiteCommand.ExecuteReader(); oneRow = new SQLiteRow(qLiteDataReader.FieldCount); foreach (DbDataRecord rows in qLiteDataReader) { string[] str = new string[6]; for (int i = 0; i < rows.FieldCount; i++) { str[i] = rows.GetValue(i).ToString(); } oneRow.AddColumn(new SQLiteColumn(str)); } /*if (SQLiteConnector.Connection.State == System.Data.ConnectionState.Open) * { * SQLiteConnector.Connection.Close(); * }*/ //SQLiteConnector.Connection.Close(); } return(oneRow); }