Пример #1
0
    //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);
    }
Пример #2
0
    //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;
    }