//signalID == -1 (any signal) //curveID == -1 (any curve) //if msStart and msEnd != -1 (means find a curve with msCentral contained between both values) public static ArrayList SelectSignalCurve(bool dbconOpened, int signalID, int curveID, double msStart, double msEnd) { if (!dbconOpened) { Sqlite.Open(); } string whereStr = ""; if (signalID != -1 || curveID != -1 || msStart != -1) { whereStr = " WHERE "; } string signalIDstr = ""; if (signalID != -1) { signalIDstr = " signalID == " + signalID; } string curveIDstr = ""; if (curveID != -1) { curveIDstr = " curveID == " + curveID; if (signalID != -1) { curveIDstr = " AND" + curveIDstr; } } string msCentralstr = ""; if (msStart != -1) { msCentralstr = " msCentral >= " + Util.ConvertToPoint(msStart) + " AND msCentral <= " + Util.ConvertToPoint(msEnd); if (signalID != -1 || curveID != -1) { msCentralstr = " AND" + msCentralstr; } } dbcmd.CommandText = "SELECT uniqueID, signalID, curveID, msCentral " + " FROM " + Constants.EncoderSignalCurveTable + whereStr + signalIDstr + curveIDstr + msCentralstr; LogB.SQL(dbcmd.CommandText.ToString()); SqliteDataReader reader; reader = dbcmd.ExecuteReader(); ArrayList array = new ArrayList(); while (reader.Read()) { EncoderSignalCurve esc = new EncoderSignalCurve( Convert.ToInt32(reader[0].ToString()), Convert.ToInt32(reader[1].ToString()), Convert.ToInt32(reader[2].ToString()), Convert.ToInt32(reader[3].ToString())); array.Add(esc); } reader.Close(); if (!dbconOpened) { Sqlite.Close(); } return(array); }
//signalID == -1 (any signal) //curveID == -1 (any curve) //if msStart and msEnd != -1 (means find a curve with msCentral contained between both values) public static ArrayList SelectSignalCurve(bool dbconOpened, int signalID, int curveID, double msStart, double msEnd) { if(! dbconOpened) Sqlite.Open(); string whereStr = ""; if(signalID != -1 || curveID != -1 || msStart != -1) whereStr = " WHERE "; string signalIDstr = ""; if(signalID != -1) signalIDstr = " signalID == " + signalID; string curveIDstr = ""; if(curveID != -1) { curveIDstr = " curveID == " + curveID; if(signalID != -1) curveIDstr = " AND" + curveIDstr; } string msCentralstr = ""; if(msStart != -1) { msCentralstr = " msCentral >= " + Util.ConvertToPoint(msStart) + " AND msCentral <= " + Util.ConvertToPoint(msEnd); if(signalID != -1 || curveID != -1) msCentralstr = " AND" + msCentralstr; } dbcmd.CommandText = "SELECT uniqueID, signalID, curveID, msCentral " + " FROM " + Constants.EncoderSignalCurveTable + whereStr + signalIDstr + curveIDstr + msCentralstr; LogB.SQL(dbcmd.CommandText.ToString()); SqliteDataReader reader; reader = dbcmd.ExecuteReader(); ArrayList array = new ArrayList(); while(reader.Read()) { EncoderSignalCurve esc = new EncoderSignalCurve( Convert.ToInt32(reader[0].ToString()), Convert.ToInt32(reader[1].ToString()), Convert.ToInt32(reader[2].ToString()), Convert.ToInt32(reader[3].ToString())); array.Add(esc); } reader.Close(); if(! dbconOpened) Sqlite.Close(); return array; }