private List<Dictionary<string, object>> ExecuteMultiRecordSQL(string text, Dictionary<string, object> parameters)
{
using (var command = new SQLiteCommand(GetSQLiteConnection()))
{
try
{
ComposeSQLCommand(command, text, parameters);
using (var dataReader = command.ExecuteReader())
{
var results = new List<Dictionary<string, object>>();
while (dataReader.Read())
{
var record = new Dictionary<string, object>();
for (int i = 0; i < dataReader.FieldCount; i++)
{
record.Add(dataReader.GetName(i), dataReader[i]);
}
results.Add(record);
}
return results;
}
}
catch (SQLiteException e)
{
Logger.Error(String.Format("Could not execute SQL: {0};", sqliteConnection), e);
throw;
}
}
}