using System;
using Persist;
using Persist.Sql;
using Persist.Maps;
namespace Persist.Statements{
/// <summary>
/// Used to execute a Free text Query
/// </summary>
public class FreeSqlStatement : Statements.PersistentStatement
{
private SqlStatement theStatement;
/// <summary>
/// Create a FreeSqlCriteria
/// </summary>
/// <param name="criteriaType"></param>
public FreeSqlStatement(Type criteriaType):base(criteriaType)
{
theStatement = new SqlStatement(base.ClassMap.RelationalDatabase);
}
/// <summary>
/// the SqlCommand to Execute
/// </summary>
public System.Data.IDbCommand SqlCommand
{
get{return theStatement.DbCommand;}
}
/// <summary>
/// Return the SqlStatement
/// </summary>
/// <returns></returns>
public SqlStatement SqlStatement
{
get
{
return theStatement;
}
}
/// <summary>
/// Execute the query and return the Cursor
/// </summary>
/// <returns></returns>
public Cursor PerformCursor()
{
return Persist.PersistenceManagerFactory.Instance.ProcessStatement(this);
}
/// <summary>
/// Exexcute the query and return a Cursor of proxies objects
/// </summary>
/// <returns></returns>
public Cursor PerformCursorForProxies()
{
return Persist.PersistenceManagerFactory.Instance.ProcessStatementForProxies(this);
}
/// <summary>
/// Perform the Query and return and integer
/// </summary>
/// <returns></returns>
public int PerformNonQuery()
{
return Persist.PersistenceManagerFactory.Instance.ProcessStatementNonQuery(this);
}
}
}
|