private Command GetCommand(SQLiteDataReader reader, SQLiteConnection con)
{
Command c = new Command(0, 0);
while (reader.Read())
{
if (Int32.Parse(reader["numberofparameters"].ToString()) != 0)
{
List<string> parameterNames = new List<string>();
SQLiteCommand com2 = new SQLiteCommand("select name from parameternames where id = " + Byte.Parse(reader["id"].ToString()), con);
SQLiteDataReader reader2 = com2.ExecuteReader();
while (reader2.Read())
{
parameterNames.Add(reader2["name"].ToString());
}
List<byte> parameterLengths = new List<byte>();
com2 = new SQLiteCommand("select length from parameterlengths where id = " + Byte.Parse(reader["id"].ToString()), con);
reader2 = com2.ExecuteReader();
while (reader2.Read())
{
parameterLengths.Add(Byte.Parse(reader2["length"].ToString()));
}
c = new Command(UInt16.Parse(reader["id"].ToString()), Byte.Parse(reader["numberofparameters"].ToString()), parameterNames.ToArray(), parameterLengths.ToArray());
}
else
{
c = new Command(UInt16.Parse(reader["id"].ToString()), Byte.Parse(reader["numberofparameters"].ToString()));
}
}
con.Close();
return c;
}