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)); }
public byte[] FetchBlob(String key) { var row = DB.ExecuteFirstRow("SELECT blob_value from " + TableName + " WHERE [key] = " + QCDBClient.EscapeString(key)); return((byte[])row[0]); }
protected Object[] NextRow() { return(DB.ExecuteFirstRow(FetchNextCursorCmd, SqlConnection)); }