Sophie

Sophie

distrib > Fedora > 18 > x86_64 > by-pkgid > b3a1f4d91c26f535919e39e25606614a > files > 1177

wt-doc-3.2.3-1.fc18.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Wt: Wt::Dbo::Query&lt; Result, BindStrategy &gt; Class Template Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />

<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>

</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">Wt
   &#160;<span id="projectnumber">3.2.3</span>
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.5.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="namespaceWt.html">Wt</a>      </li>
      <li class="navelem"><a class="el" href="namespaceWt_1_1Dbo.html">Dbo</a>      </li>
      <li class="navelem"><a class="el" href="classWt_1_1Dbo_1_1Query.html">Query</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a>  </div>
  <div class="headertitle">
<div class="title">Wt::Dbo::Query&lt; Result, BindStrategy &gt; Class Template Reference<div class="ingroups"><a class="el" href="group__dbo.html">Database Objects (Wt::Dbo)</a></div></div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="Wt::Dbo::Query" -->
<p>A database query.  
 <a href="classWt_1_1Dbo_1_1Query.html#details">More...</a></p>

<p><code>#include &lt;Wt/Dbo/Query&gt;</code></p>

<p><a href="classWt_1_1Dbo_1_1Query-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a305ffb1d93ac34cbf8d8896d29bf0eac"></a><!-- doxytag: member="Wt::Dbo::Query::Query" ref="a305ffb1d93ac34cbf8d8896d29bf0eac" args="()" -->
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1Dbo_1_1Query.html#a305ffb1d93ac34cbf8d8896d29bf0eac">Query</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a619494451d11e0e2b995a556f2599afa"></a><!-- doxytag: member="Wt::Dbo::Query::~Query" ref="a619494451d11e0e2b995a556f2599afa" args="()" -->
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1Dbo_1_1Query.html#a619494451d11e0e2b995a556f2599afa">~Query</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a81ef00bea19257cf6537c40af35963a9"></a><!-- doxytag: member="Wt::Dbo::Query::Query" ref="a81ef00bea19257cf6537c40af35963a9" args="(const Query &amp;other)" -->
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1Dbo_1_1Query.html#a81ef00bea19257cf6537c40af35963a9">Query</a> (const <a class="el" href="classWt_1_1Dbo_1_1Query.html">Query</a> &amp;other)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy constructor. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7db5edf6192931aec96179a94adec2c9"></a><!-- doxytag: member="Wt::Dbo::Query::operator=" ref="a7db5edf6192931aec96179a94adec2c9" args="(const Query &amp;other)" -->
<a class="el" href="classWt_1_1Dbo_1_1Query.html">Query</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1Dbo_1_1Query.html#a7db5edf6192931aec96179a94adec2c9">operator=</a> (const <a class="el" href="classWt_1_1Dbo_1_1Query.html">Query</a> &amp;other)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Assignment operator. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9b08b4f6aa7b59ff2fe0282eb1f07192"></a><!-- doxytag: member="Wt::Dbo::Query::fields" ref="a9b08b4f6aa7b59ff2fe0282eb1f07192" args="() const " -->
std::vector&lt; <a class="el" href="classWt_1_1Dbo_1_1FieldInfo.html">FieldInfo</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1Dbo_1_1Query.html#a9b08b4f6aa7b59ff2fe0282eb1f07192">fields</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the result fields. <br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classWt_1_1Dbo_1_1Query.html">Query</a>&lt; Result, BindStrategy &gt; &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classWt_1_1Dbo_1_1Query.html#a2d4a64858060330ec6b35b02c3f80335">bind</a> (const T &amp;value)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Binds a value to the next positional marker.  <a href="#a2d4a64858060330ec6b35b02c3f80335"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">Result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1Dbo_1_1Query.html#ade63c5a681e84def0fc4d5b47c946493">resultValue</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a unique result value.  <a href="#ade63c5a681e84def0fc4d5b47c946493"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classWt_1_1Dbo_1_1collection.html">collection</a>&lt; Result &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1Dbo_1_1Query.html#a2cf4c4bba273994e0f95839aba3201b4">resultList</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a result list.  <a href="#a2cf4c4bba273994e0f95839aba3201b4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1Dbo_1_1Query.html#abfa8d61dd48e1450daddf52be243ea5d">operator Result</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a unique result value.  <a href="#abfa8d61dd48e1450daddf52be243ea5d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1Dbo_1_1Query.html#a2964ddefd13eb5cb5e7a07b311dd29c3">operator collection&lt; Result &gt;</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a result list.  <a href="#a2964ddefd13eb5cb5e7a07b311dd29c3"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Methods for composing a query (DynamicBinding only)</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classWt_1_1Dbo_1_1Query.html">Query</a>&lt; Result, BindStrategy &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1Dbo_1_1Query.html#a52b2e4305d7d48f28b1d72bd69da57e4">where</a> (const std::string &amp;condition)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a query condition.  <a href="#a52b2e4305d7d48f28b1d72bd69da57e4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classWt_1_1Dbo_1_1Query.html">Query</a>&lt; Result, BindStrategy &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1Dbo_1_1Query.html#a411e77f4aad2447f067b4c20153fa1ad">orderBy</a> (const std::string &amp;fieldName)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the result order.  <a href="#a411e77f4aad2447f067b4c20153fa1ad"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classWt_1_1Dbo_1_1Query.html">Query</a>&lt; Result, BindStrategy &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1Dbo_1_1Query.html#a07d81e1a0d504eca1b428b04f7855c3d">groupBy</a> (const std::string &amp;fields)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the grouping field(s).  <a href="#a07d81e1a0d504eca1b428b04f7855c3d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classWt_1_1Dbo_1_1Query.html">Query</a>&lt; Result, BindStrategy &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1Dbo_1_1Query.html#a53b6b6f8181d6f75d37725bba69c33ad">offset</a> (int count)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets a result offset.  <a href="#a53b6b6f8181d6f75d37725bba69c33ad"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1Dbo_1_1Query.html#aeadc37ec43e628c50338a6ca22375af2">offset</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an offset set for this query.  <a href="#aeadc37ec43e628c50338a6ca22375af2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classWt_1_1Dbo_1_1Query.html">Query</a>&lt; Result, BindStrategy &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1Dbo_1_1Query.html#a26a00ff4b0ed1e7a322966f7b9b13201">limit</a> (int count)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets a result limit.  <a href="#a26a00ff4b0ed1e7a322966f7b9b13201"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1Dbo_1_1Query.html#a5ba10a1f22c6899b6d41e75661f4e6ef">limit</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a limit set for this query.  <a href="#a5ba10a1f22c6899b6d41e75661f4e6ef"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><h3>template&lt;class Result, typename BindStrategy = DynamicBinding&gt;<br/>
class Wt::Dbo::Query&lt; Result, BindStrategy &gt;</h3>

<p>A database query. </p>
<p>The query fetches results of type <code>Result</code> from the database. This can be any type for which <a class="el" href="structWt_1_1Dbo_1_1query__result__traits.html" title="Traits class for result types.">query_result_traits</a> are properly implemented. The library provides these implementations for primitive values (see <a class="el" href="structWt_1_1Dbo_1_1sql__value__traits.html" title="Traits class for value types.">sql_value_traits</a>), database objects (ptr) and <code>boost::tuple</code>.</p>
<p>Simple queries can be done using <a class="el" href="classWt_1_1Dbo_1_1Session.html#a1a9aff98561cd85ee82a11a57e1e7a74" title="Finds database objects.">Session::find()</a>, while more elaborate queries (with arbitrary result types) using <a class="el" href="classWt_1_1Dbo_1_1Session.html#a8cad70bef9cffd6613107d5cd3aeb16a" title="Creates a query.">Session::query()</a>.</p>
<p>You may insert positional holders anywhere in the query for parameters using '?', and bind these to actual values using <a class="el" href="classWt_1_1Dbo_1_1Query.html#a2d4a64858060330ec6b35b02c3f80335" title="Binds a value to the next positional marker.">bind()</a>.</p>
<p>The query result may be fetched using <a class="el" href="classWt_1_1Dbo_1_1Query.html#ade63c5a681e84def0fc4d5b47c946493" title="Returns a unique result value.">resultValue()</a> or <a class="el" href="classWt_1_1Dbo_1_1Query.html#a2cf4c4bba273994e0f95839aba3201b4" title="Returns a result list.">resultList()</a>.</p>
<p>Usage example: </p>
<div class="fragment"><pre class="fragment"> <span class="keyword">typedef</span> <a class="code" href="classWt_1_1Dbo_1_1ptr.html" title="A smart pointer for a database object.">Wt::Dbo::ptr&lt;Account&gt;</a> AccountPtr;
 <span class="keyword">typedef</span> <a class="code" href="classWt_1_1Dbo_1_1collection.html" title="An STL container for iterating query results.">Wt::Dbo::collection&lt;AccountPtr&gt;</a> Accounts;

 <a class="code" href="classWt_1_1Dbo_1_1Query.html" title="A database query.">Wt::Dbo::Query&lt;AccountPtr&gt;</a> query = session.find&lt;Account&gt;().<a class="code" href="classWt_1_1Dbo_1_1Query.html#a52b2e4305d7d48f28b1d72bd69da57e4" title="Adds a query condition.">where</a>(<span class="stringliteral">&quot;balance &gt; ?&quot;</span>).bind(100000);
 Accounts accounts = query.<a class="code" href="classWt_1_1Dbo_1_1Query.html#a2cf4c4bba273994e0f95839aba3201b4" title="Returns a result list.">resultList</a>();

 <span class="keywordflow">for</span> (Accounts::const_iterator i = accounts.begin(); i != accounts.end(); ++i)
   std::cerr &lt;&lt; <span class="stringliteral">&quot;Name: &quot;</span> &lt;&lt; (*i)-&gt;name &lt;&lt; std::end;
</pre></div><p>The <code>BindStrategy</code> specifies how you want to bind parameters to your query (if any).</p>
<p>When using <a class="el" href="structWt_1_1Dbo_1_1DynamicBinding.html">DynamicBinding</a> (which is the default), parameter binding to an actual sql statement is deferred until the query is run. This has the advantage that you can compose the query definition using helper methods provided in the query object (<a class="el" href="classWt_1_1Dbo_1_1Query.html#a52b2e4305d7d48f28b1d72bd69da57e4" title="Adds a query condition.">where()</a>, <a class="el" href="classWt_1_1Dbo_1_1Query.html#a411e77f4aad2447f067b4c20153fa1ad" title="Sets the result order.">orderBy()</a> and <a class="el" href="classWt_1_1Dbo_1_1Query.html#a07d81e1a0d504eca1b428b04f7855c3d" title="Sets the grouping field(s).">groupBy()</a>), possibly intermixing this with parameter binding, and you can keep the query around and run the query multiple times, perhaps with different parameter values or to scroll through the query results. The <a class="el" href="classWt_1_1Dbo_1_1Query.html#a52b2e4305d7d48f28b1d72bd69da57e4" title="Adds a query condition.">where()</a>, <a class="el" href="classWt_1_1Dbo_1_1Query.html#a411e77f4aad2447f067b4c20153fa1ad" title="Sets the result order.">orderBy()</a> and <a class="el" href="classWt_1_1Dbo_1_1Query.html#a07d81e1a0d504eca1b428b04f7855c3d" title="Sets the grouping field(s).">groupBy()</a> are merely convenience methods which you may use to compose the query incrementally, but you may just as well specify the entire SQL as a single string.</p>
<p>When using <a class="el" href="structWt_1_1Dbo_1_1DirectBinding.html">DirectBinding</a>, parameters are directly bound to an underlying sql statement. Therefore, the query must be specified entirely when created. Because of this reliance on an sql statement, it can be run only once (one call to <a class="el" href="classWt_1_1Dbo_1_1Query.html#ade63c5a681e84def0fc4d5b47c946493" title="Returns a unique result value.">resultValue()</a> or <a class="el" href="classWt_1_1Dbo_1_1Query.html#a2cf4c4bba273994e0f95839aba3201b4" title="Returns a result list.">resultList()</a>) after which it should be discarded. You should not try to keep a query object around when using this parameter binding strategy (that will amost always not do what you would hope it to do). </p>
</div><hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a2d4a64858060330ec6b35b02c3f80335"></a><!-- doxytag: member="Wt::Dbo::Query::bind" ref="a2d4a64858060330ec6b35b02c3f80335" args="(const T &amp;value)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Result, typename BindStrategy = DynamicBinding&gt; </div>
<div class="memtemplate">
template&lt;typename T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classWt_1_1Dbo_1_1Query.html">Query</a>&lt;Result, BindStrategy&gt;&amp; <a class="el" href="classWt_1_1Dbo_1_1Query.html">Wt::Dbo::Query</a>&lt; Result, BindStrategy &gt;::bind </td>
          <td>(</td>
          <td class="paramtype">const T &amp;&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Binds a value to the next positional marker. </p>
<p>This binds the <code>value</code> to the next positional marker in the query condition. </p>

</div>
</div>
<a class="anchor" id="a07d81e1a0d504eca1b428b04f7855c3d"></a><!-- doxytag: member="Wt::Dbo::Query::groupBy" ref="a07d81e1a0d504eca1b428b04f7855c3d" args="(const std::string &amp;fields)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Result, typename BindStrategy = DynamicBinding&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classWt_1_1Dbo_1_1Query.html">Query</a>&lt;Result, BindStrategy&gt;&amp; <a class="el" href="classWt_1_1Dbo_1_1Query.html">Wt::Dbo::Query</a>&lt; Result, BindStrategy &gt;::groupBy </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>fields</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets the grouping field(s). </p>
<p>This is a convenience method for creating a SQL query, and sets a <em>group by</em> field expression for the current query.</p>
<p>Groups results based on unique values of the indicated field(s), which is a comma separated list of fields. Only fields on which you group and aggregate functions can be selected by a query.</p>
<p>A field that refers to a database object that is selected by the query is expanded to all the corresponding fields of that database object (as in the select statement).</p>
<dl class="note"><dt><b>Note:</b></dt><dd>This method is not available when using a <a class="el" href="structWt_1_1Dbo_1_1DirectBinding.html">DirectBinding</a> binding strategy. </dd></dl>

</div>
</div>
<a class="anchor" id="a26a00ff4b0ed1e7a322966f7b9b13201"></a><!-- doxytag: member="Wt::Dbo::Query::limit" ref="a26a00ff4b0ed1e7a322966f7b9b13201" args="(int count)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Result, typename BindStrategy = DynamicBinding&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classWt_1_1Dbo_1_1Query.html">Query</a>&lt;Result, BindStrategy&gt;&amp; <a class="el" href="classWt_1_1Dbo_1_1Query.html">Wt::Dbo::Query</a>&lt; Result, BindStrategy &gt;::limit </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>count</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets a result limit. </p>
<p>Sets a result limit. This has the effect that the next <a class="el" href="classWt_1_1Dbo_1_1Query.html#a2cf4c4bba273994e0f95839aba3201b4" title="Returns a result list.">resultList()</a> call will return up to <code>count</code> results. Use -1 to indicate no limit.</p>
<p>This provides the (non standard) <em>limit</em> part of an SQL query.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1Dbo_1_1Query.html#a53b6b6f8181d6f75d37725bba69c33ad" title="Sets a result offset.">offset()</a></dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>This method is not available when using a <a class="el" href="structWt_1_1Dbo_1_1DirectBinding.html">DirectBinding</a> binding strategy. </dd></dl>

</div>
</div>
<a class="anchor" id="a5ba10a1f22c6899b6d41e75661f4e6ef"></a><!-- doxytag: member="Wt::Dbo::Query::limit" ref="a5ba10a1f22c6899b6d41e75661f4e6ef" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Result, typename BindStrategy = DynamicBinding&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classWt_1_1Dbo_1_1Query.html">Wt::Dbo::Query</a>&lt; Result, BindStrategy &gt;::limit </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns a limit set for this query. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1Dbo_1_1Query.html#a26a00ff4b0ed1e7a322966f7b9b13201" title="Sets a result limit.">limit(int)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a53b6b6f8181d6f75d37725bba69c33ad"></a><!-- doxytag: member="Wt::Dbo::Query::offset" ref="a53b6b6f8181d6f75d37725bba69c33ad" args="(int count)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Result, typename BindStrategy = DynamicBinding&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classWt_1_1Dbo_1_1Query.html">Query</a>&lt;Result, BindStrategy&gt;&amp; <a class="el" href="classWt_1_1Dbo_1_1Query.html">Wt::Dbo::Query</a>&lt; Result, BindStrategy &gt;::offset </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>count</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets a result offset. </p>
<p>Sets a result offset. This has the effect that the next <a class="el" href="classWt_1_1Dbo_1_1Query.html#a2cf4c4bba273994e0f95839aba3201b4" title="Returns a result list.">resultList()</a> call will skip as many results as the offset indicates. Use -1 to indicate no offset.</p>
<p>This provides the (non standard) <em>offset</em> part of an SQL query.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1Dbo_1_1Query.html#a26a00ff4b0ed1e7a322966f7b9b13201" title="Sets a result limit.">limit()</a></dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>This method is not available when using a <a class="el" href="structWt_1_1Dbo_1_1DirectBinding.html">DirectBinding</a> binding strategy. </dd></dl>

</div>
</div>
<a class="anchor" id="aeadc37ec43e628c50338a6ca22375af2"></a><!-- doxytag: member="Wt::Dbo::Query::offset" ref="aeadc37ec43e628c50338a6ca22375af2" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Result, typename BindStrategy = DynamicBinding&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classWt_1_1Dbo_1_1Query.html">Wt::Dbo::Query</a>&lt; Result, BindStrategy &gt;::offset </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns an offset set for this query. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1Dbo_1_1Query.html#a53b6b6f8181d6f75d37725bba69c33ad" title="Sets a result offset.">offset(int)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a2964ddefd13eb5cb5e7a07b311dd29c3"></a><!-- doxytag: member="Wt::Dbo::Query::operator collection&lt; Result &gt;" ref="a2964ddefd13eb5cb5e7a07b311dd29c3" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Result, typename BindStrategy = DynamicBinding&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classWt_1_1Dbo_1_1Query.html">Wt::Dbo::Query</a>&lt; Result, BindStrategy &gt;::operator <a class="el" href="classWt_1_1Dbo_1_1collection.html">collection</a>&lt; Result &gt; </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns a result list. </p>
<p>This is a convenience conversion operator that calls <a class="el" href="classWt_1_1Dbo_1_1Query.html#a2cf4c4bba273994e0f95839aba3201b4" title="Returns a result list.">resultList()</a>. </p>

</div>
</div>
<a class="anchor" id="abfa8d61dd48e1450daddf52be243ea5d"></a><!-- doxytag: member="Wt::Dbo::Query::operator Result" ref="abfa8d61dd48e1450daddf52be243ea5d" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Result, typename BindStrategy = DynamicBinding&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classWt_1_1Dbo_1_1Query.html">Wt::Dbo::Query</a>&lt; Result, BindStrategy &gt;::operator Result </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns a unique result value. </p>
<p>This is a convenience conversion operator that calls <a class="el" href="classWt_1_1Dbo_1_1Query.html#ade63c5a681e84def0fc4d5b47c946493" title="Returns a unique result value.">resultValue()</a>. </p>

</div>
</div>
<a class="anchor" id="a411e77f4aad2447f067b4c20153fa1ad"></a><!-- doxytag: member="Wt::Dbo::Query::orderBy" ref="a411e77f4aad2447f067b4c20153fa1ad" args="(const std::string &amp;fieldName)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Result, typename BindStrategy = DynamicBinding&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classWt_1_1Dbo_1_1Query.html">Query</a>&lt;Result, BindStrategy&gt;&amp; <a class="el" href="classWt_1_1Dbo_1_1Query.html">Wt::Dbo::Query</a>&lt; Result, BindStrategy &gt;::orderBy </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>fieldName</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets the result order. </p>
<p>This is a convenience method for creating a SQL query, and sets an <em>order by</em> field expression for the current query.</p>
<p>Orders the results based on the given field name (or multiple names, comma-separated).</p>
<dl class="note"><dt><b>Note:</b></dt><dd>This method is not available when using a <a class="el" href="structWt_1_1Dbo_1_1DirectBinding.html">DirectBinding</a> binding strategy. </dd></dl>

</div>
</div>
<a class="anchor" id="a2cf4c4bba273994e0f95839aba3201b4"></a><!-- doxytag: member="Wt::Dbo::Query::resultList" ref="a2cf4c4bba273994e0f95839aba3201b4" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Result, typename BindStrategy = DynamicBinding&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classWt_1_1Dbo_1_1collection.html">collection</a>&lt; Result &gt; <a class="el" href="classWt_1_1Dbo_1_1Query.html">Wt::Dbo::Query</a>&lt; Result, BindStrategy &gt;::resultList </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns a result list. </p>
<p>This returns a collection which is backed by the underlying query. The query is not actually run until this collection is traversed or its size is asked.</p>
<p>When using a <a class="el" href="structWt_1_1Dbo_1_1DynamicBinding.html">DynamicBinding</a> bind strategy, after a result has been fetched, the query can no longer be used. </p>

</div>
</div>
<a class="anchor" id="ade63c5a681e84def0fc4d5b47c946493"></a><!-- doxytag: member="Wt::Dbo::Query::resultValue" ref="ade63c5a681e84def0fc4d5b47c946493" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Result, typename BindStrategy = DynamicBinding&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">Result <a class="el" href="classWt_1_1Dbo_1_1Query.html">Wt::Dbo::Query</a>&lt; Result, BindStrategy &gt;::resultValue </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns a unique result value. </p>
<p>You can use this method if you are expecting the query to return at most one result. If the query returns more than one result a <a class="el" href="classWt_1_1Dbo_1_1NoUniqueResultException.html" title="Exception thrown when a query unexpectedly finds a non-unique result.">NoUniqueResultException</a> is thrown.</p>
<p>When using a <a class="el" href="structWt_1_1Dbo_1_1DynamicBinding.html">DynamicBinding</a> bind strategy, after a result has been fetched, the query can no longer be used. </p>

</div>
</div>
<a class="anchor" id="a52b2e4305d7d48f28b1d72bd69da57e4"></a><!-- doxytag: member="Wt::Dbo::Query::where" ref="a52b2e4305d7d48f28b1d72bd69da57e4" args="(const std::string &amp;condition)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Result, typename BindStrategy = DynamicBinding&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classWt_1_1Dbo_1_1Query.html">Query</a>&lt;Result, BindStrategy&gt;&amp; <a class="el" href="classWt_1_1Dbo_1_1Query.html">Wt::Dbo::Query</a>&lt; Result, BindStrategy &gt;::where </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>condition</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Adds a query condition. </p>
<p>This is a convenience method for creating a SQL query, and concatenates a new <em>where</em> condition expression to the current query.</p>
<p>The condition must be a valid SQL condition expression.</p>
<p>Multiple conditions may be provided by successive calls to <a class="el" href="classWt_1_1Dbo_1_1Query.html#a52b2e4305d7d48f28b1d72bd69da57e4" title="Adds a query condition.">where()</a>, which must each be fulfilled, and are concatenated together using 'and'.</p>
<p>As with any part of the SQL query, a condition may contain positional markers '?' to which values may be bound using <a class="el" href="classWt_1_1Dbo_1_1Query.html#a2d4a64858060330ec6b35b02c3f80335" title="Binds a value to the next positional marker.">bind()</a>.</p>
<dl class="note"><dt><b>Note:</b></dt><dd>This method is not available when using a <a class="el" href="structWt_1_1Dbo_1_1DirectBinding.html">DirectBinding</a> binding strategy. </dd></dl>

</div>
</div>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<hr size="1"><address style="text-align: right; margin: 3px"><small>
Generated on Thu Nov 1 2012 for <a href="http://www.webtoolkit.eu/wt">the
C++ Web Toolkit (Wt)</a> by&nbsp;<a
href="http://www.doxygen.org/index.html"><img src="doxygen.png"
alt="doxygen" border="0" style="vertical-align: middle; display:
inline-block; height: 2em"></a> 1.7.5.1</small></address>
</body>
</html>