public List <ProcessData> GetData() { string baseName = "C:\\Users\\Andrei Yakubovich\\Documents\\Visual Studio 2017\\Projects\\ConsoleApp1\\ConsoleApp1\\bin\\Debug\\16BITM03.sqlite"; ProcessData pd = new ProcessData( "C:\\Users\\Andrei Yakubovich\\Documents\\Visual Studio 2017\\Projects\\ConsoleApp1\\ConsoleApp1\\bin\\Debug\\16BITM03.xml"); pd.AddRecipe(); OdbcConnection dbConnection = new OdbcConnection("DRIVER=SQLite3 ODBC Driver;Database=" + baseName + ";LongNames=0;Timeout=1000;NoTXN=0;SyncPragma = NORMAL; StepAPI = 0;"); List <ProcessData> process = new List <ProcessData>(); try { OdbcCommand dbCommand = new OdbcCommand(); dbConnection.Open(); dbCommand.Connection = dbConnection; byte[] array = new byte[0]; dbCommand.CommandText = "Select * from [Process]"; List <int> arr = new List <int>(); using (var rdr = dbCommand.ExecuteReader()) { while (rdr.Read()) { arr.Add((int)rdr["ID"]); } } foreach (int id in arr) { dbCommand.CommandText = "Select [Data] from [Process] Where ID =" + id; if (dbCommand.ExecuteScalar() != null) { using (var reader = dbCommand.ExecuteReader()) { while (reader.Read()) { array = GetBytes(reader); } } var proc1 = ByteToProcessData(array); process.Add(proc1); } } } catch (Exception e) { Console.WriteLine(e); throw; } finally { dbConnection.Close(); } return(process); }