public virtual int Delete(IDb db, IQuery query) { ErrorIfSPResult(); int result = 0; OrlQuery sqlquery = (OrlQuery)query; //as OrlQuery; string sql = GetDeleteSql(sqlquery); IDbCommand cmd = null; try { cmd = db.Connection.CreateCommand(); cmd.CommandText = sql; cmd.CommandType = CommandType.Text; cmd.Transaction = db.Transaction; if (sqlquery != null) { sqlquery.SetParameters(cmd); } cmd.Prepare(); TraceObject.Instance.TraceCommand(cmd); result = cmd.ExecuteNonQuery(); } finally { if (cmd != null) { cmd.Dispose(); cmd = null; } } return(result); }
public virtual object Find(IDb session, object key) { ErrorIfSPResult(); SqlColumn pk = null; object result = null; foreach (SqlColumn c in columns) { if (c.IsPK) { pk = c; break; } } if (pk != null) { OrlQuery q = new OrlQuery(); q.Constrain(pk.Alias).Equal(key); IList list = new ArrayList(1); Select(session, q, list); if (list.Count > 0) { result = list[0]; } } return(result); }
protected virtual string GetDeleteSql(OrlQuery query) { StringBuilder buf = new StringBuilder("delete from "); if (schema != null && schema.Length > 0) { buf.Append(schema).Append("."); } buf.Append(name); if (query != null) { buf.Append(" ").Append(query.GetSql(this)); } //buf.Append(";"); return(buf.ToString()); }
public virtual void Select(IDb db, IQuery query, IList list) { ErrorIfSPResult(); OrlQuery sqlquery = (OrlQuery)query; string sql = GetSelectSql(sqlquery); IDbCommand cmd = null; IDataReader reader = null; try { cmd = db.Connection.CreateCommand(); cmd.CommandText = sql; cmd.CommandType = CommandType.Text; cmd.Transaction = db.Transaction; if (sqlquery != null) { sqlquery.SetParameters(cmd); } cmd.Prepare(); TraceObject.Instance.TraceCommand(cmd); reader = cmd.ExecuteReader(); FillByIndex(reader, list); } finally { if (reader != null) { if (!reader.IsClosed) { reader.Close(); } reader.Dispose(); reader = null; } if (cmd != null) { cmd.Dispose(); cmd = null; } } FireTriggers(list, new TriggerEventArgs(db, Timing.AfterActivate)); }
protected virtual string GetSelectSql(OrlQuery query) { if (selectSQL == null) { StringBuilder buf = new StringBuilder("select "); bool comma = false; foreach (SqlColumn column in columns) { if (comma) { buf.Append(","); } else { comma = true; } buf.Append(column.Name); } buf.Append(" from "); if (schema != null && schema.Length > 0) { buf.Append(schema).Append("."); } buf.Append(name); selectSQL = buf.ToString(); } if (query != null) { StringBuilder buf = new StringBuilder(selectSQL); buf.Append(" ").Append(query.GetSql(this)); //buf.Append(";"); return(buf.ToString()); } else { return(string.Format("{0};", selectSQL)); } }
public OrlConstraint(IQuery query) { this.query = (OrlQuery)query; }
protected virtual string GetSelectSql(OrlQuery query) { if (selectSQL == null) { StringBuilder buf = new StringBuilder("select "); bool comma = false; foreach (SqlColumn column in columns) { if (comma) buf.Append(","); else comma = true; buf.Append(column.Name); } buf.Append(" from "); if (schema != null && schema.Length > 0) buf.Append(schema).Append("."); buf.Append(name); selectSQL = buf.ToString(); } if (query != null) { StringBuilder buf = new StringBuilder(selectSQL); buf.Append(" ").Append(query.GetSql(this)); //buf.Append(";"); return buf.ToString(); } else return string.Format("{0};", selectSQL); }
protected virtual string GetDeleteSql(OrlQuery query) { StringBuilder buf = new StringBuilder("delete from "); if (schema != null && schema.Length > 0) buf.Append(schema).Append("."); buf.Append(name); if (query != null) buf.Append(" ").Append(query.GetSql(this)); //buf.Append(";"); return buf.ToString(); }
public virtual object Find(IDb session, object key) { ErrorIfSPResult(); SqlColumn pk = null; object result = null; foreach (SqlColumn c in columns) { if (c.IsPK) { pk = c; break; } } if (pk != null) { OrlQuery q = new OrlQuery(); q.Constrain(pk.Alias).Equal(key); IList list = new ArrayList(1); Select(session, q, list); if (list.Count > 0) result = list[0]; } return result; }
public OrlConstraint(IQuery query) { this.query = (OrlQuery) query; }