public override IEnumerable<string[][]> RunCommand(string sql_command, int maxResultSize)
{
//SQLite example code:
//http://www.dreamincode.net/forums/topic/157830-using-sqlite-with-c%23/
DataTable dt = new DataTable();
try
{
SQLiteCommand mycommand = new SQLiteCommand(sqlite_connection);
mycommand.CommandText = sql_command;
SQLiteDataReader reader = mycommand.ExecuteReader();
dt.Load(reader);
reader.Close();
}
catch (Exception ex)
{
Logger.addMessage(Logger.LogType.Error, "Unable to run SQLite command." + ex.ToString());
}
//convert datatable to array
string[][] string_array = new string[dt.Rows.Count][];
for (int i = 0; i < dt.Rows.Count; i++)
{
DataRow row = dt.Rows[i];
string_array[i] = row.ItemArray.Select(j => j.ToString()).ToArray();
}
if (validLength(string_array, maxResultSize) == false)
{
yield return new string[][] { new[] { "TooLong" } };
}
else
{
yield return string_array;
}
}