Ejemplo n.º 1
0
        public override QCEvent NextEventImpl()
        {
            String fetchEventText = String.Format(@"SELECT TOP 1 * FROM {0} WHERE status = {1} AND fire_time < {2} ",
                                                  TableName,
                                                  QCDBClient.EscapeString(Status_Live),
                                                  QCDBClient.EscapeString(DateTime.Now.ToString()));

            Object[] results         = DB.ExecuteFirstRow(fetchEventText);
            String   rowIdText       = results[0].ToString();
            String   fireTime        = results[1].ToString();
            String   status          = results[2].ToString();
            String   eventText       = results[3].ToString();
            String   updateEventText = String.Format(@"UPDATE {0} SET status = {1} WHERE row_id = {2}",
                                                     TableName,
                                                     QCDBClient.EscapeString(Status_Dead),
                                                     // rowId is integer, don't need to be escaped
                                                     rowIdText);

            DB.ExecuteNonQuery(updateEventText);

            // de serelize
            return(QCEvent.FromSoapString(eventText));
        }
Ejemplo n.º 2
0
        public byte[] FetchBlob(String key)
        {
            var row = DB.ExecuteFirstRow("SELECT blob_value from " + TableName + " WHERE [key] = " + QCDBClient.EscapeString(key));

            return((byte[])row[0]);
        }
Ejemplo n.º 3
0
 protected Object[] NextRow()
 {
     return(DB.ExecuteFirstRow(FetchNextCursorCmd, SqlConnection));
 }