# C1.AdoNet.CSV.C1CSVCommand

## Content

<div class="doc-site-dotnet-api-container">



  <h1 id="C1_AdoNet_CSV_C1CSVCommand" data-uid="C1.AdoNet.CSV.C1CSVCommand" class="text-break">C1CSVCommand Class
</h1>
  <div class="markdown level0 summary"><p><a class="xref" href="C1.AdoNet.CSV.C1CSVCommand.html">C1CSVCommand</a> contains all the necessary information to fully specify a CSV command and execute it.</p>
</div>
  <div class="markdown level0 conceptual"></div>
  <div class="inheritance">
    <h5>Inheritance</h5>
    <div class="level0"><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
    <div class="level1"><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.marshalbyrefobject">MarshalByRefObject</a></div>
    <div class="level2"><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.componentmodel.component">Component</a></div>
    <div class="level3"><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.data.common.dbcommand">DbCommand</a></div>
    <div class="level4"><a class="xref" href="C1.DataConnector.AdoNet.C1CommandBase.html">C1CommandBase</a></div>
    <div class="level5"><a class="xref" href="C1.DataConnector.AdoNet.C1CommandBase-1.html">C1CommandBase</a>&lt;<a class="xref" href="C1.AdoNet.CSV.C1CSVCommand.html">C1CSVCommand</a>&gt;</div>
    <div class="level6"><span class="xref">C1CSVCommand</span></div>
  </div>
  <div class="implements">
    <h5>Implements</h5>
    <div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.componentmodel.icomponent">IComponent</a></div>
    <div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.data.idbcommand">IDbCommand</a></div>
    <div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.idisposable">IDisposable</a></div>
    <div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.iasyncdisposable">IAsyncDisposable</a></div>
    <div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.icloneable">ICloneable</a></div>
  </div>
  <h6><strong>Namespace</strong>: <a class="xref" href="C1.AdoNet.CSV.html">C1.AdoNet.CSV</a></h6>
  <h6><strong>Assembly</strong>: C1.AdoNet.CSV.dll</h6>
  <h5 id="C1_AdoNet_CSV_C1CSVCommand_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public sealed class C1CSVCommand : C1CommandBase&lt;C1CSVCommand&gt;, IComponent, IDbCommand, IDisposable, IAsyncDisposable, ICloneable</code></pre>
  </div>
  <div class="codewrapper">
    <pre><code class="lang-vbnet hljs">Public NotInheritable Class C1CSVCommand
    Inherits C1CommandBase(Of C1CSVCommand)
    Implements IComponent, IDbCommand, IDisposable, IAsyncDisposable, ICloneable</code></pre>
  </div>
  <h3 id="constructors">Constructors
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="C1_AdoNet_CSV_C1CSVCommand__ctor" data-uid="C1.AdoNet.CSV.C1CSVCommand.#ctor">
          <a class="xref" href="C1.AdoNet.CSV.C1CSVCommand.-ctor.html#C1_AdoNet_CSV_C1CSVCommand__ctor">C1CSVCommand()</a>
        </td>
        <td class="markdown level1 summary"><p>Create a <a class="xref" href="C1.AdoNet.CSV.C1CSVCommand.html">C1CSVCommand</a> instance.</p>
</td>
      </tr>
      <tr>
        <td id="C1_AdoNet_CSV_C1CSVCommand__ctor_C1_AdoNet_CSV_C1CSVConnection_" data-uid="C1.AdoNet.CSV.C1CSVCommand.#ctor(C1.AdoNet.CSV.C1CSVConnection)">
          <a class="xref" href="C1.AdoNet.CSV.C1CSVCommand.-ctor.html#C1_AdoNet_CSV_C1CSVCommand__ctor_C1_AdoNet_CSV_C1CSVConnection_">C1CSVCommand(C1CSVConnection)</a>
        </td>
        <td class="markdown level1 summary"><p>Create a <a class="xref" href="C1.AdoNet.CSV.C1CSVCommand.html">C1CSVCommand</a> instance with a connection.</p>
</td>
      </tr>
      <tr>
        <td id="C1_AdoNet_CSV_C1CSVCommand__ctor_C1_AdoNet_CSV_C1CSVConnection_System_String_" data-uid="C1.AdoNet.CSV.C1CSVCommand.#ctor(C1.AdoNet.CSV.C1CSVConnection,System.String)">
          <a class="xref" href="C1.AdoNet.CSV.C1CSVCommand.-ctor.html#C1_AdoNet_CSV_C1CSVCommand__ctor_C1_AdoNet_CSV_C1CSVConnection_System_String_">C1CSVCommand(C1CSVConnection, string)</a>
        </td>
        <td class="markdown level1 summary"><p>Create a <a class="xref" href="C1.AdoNet.CSV.C1CSVCommand.html">C1CSVCommand</a> instance with a connection and a command text.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="properties">Properties
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="C1_AdoNet_CSV_C1CSVCommand_CanGetNextData" data-uid="C1.AdoNet.CSV.C1CSVCommand.CanGetNextData">
          <a class="xref" href="C1.AdoNet.CSV.C1CSVCommand.CanGetNextData.html#C1_AdoNet_CSV_C1CSVCommand_CanGetNextData">CanGetNextData</a>
        </td>
        <td class="markdown level1 summary"><p>To check whether or not more data can be retrieved from the source as the result of executing this <a class="xref" href="C1.AdoNet.CSV.C1CSVCommand.html">C1CSVCommand</a>.</p>
</td>
      </tr>
      <tr>
        <td id="C1_AdoNet_CSV_C1CSVCommand_CommandTimeout" data-uid="C1.AdoNet.CSV.C1CSVCommand.CommandTimeout">
          <a class="xref" href="C1.AdoNet.CSV.C1CSVCommand.CommandTimeout.html#C1_AdoNet_CSV_C1CSVCommand_CommandTimeout">CommandTimeout</a>
        </td>
        <td class="markdown level1 summary"><p>Gets or sets the wait time before terminating the attempt to execute a command and generating an error.</p>
</td>
      </tr>
      <tr>
        <td id="C1_AdoNet_CSV_C1CSVCommand_CommandType" data-uid="C1.AdoNet.CSV.C1CSVCommand.CommandType">
          <a class="xref" href="C1.AdoNet.CSV.C1CSVCommand.CommandType.html#C1_AdoNet_CSV_C1CSVCommand_CommandType">CommandType</a>
        </td>
        <td class="markdown level1 summary"><p>Indicates or specifies how the <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.data.common.dbcommand.commandtext">CommandText</a> property is interpreted.</p>
</td>
      </tr>
      <tr>
        <td id="C1_AdoNet_CSV_C1CSVCommand_DbConnection" data-uid="C1.AdoNet.CSV.C1CSVCommand.DbConnection">
          <a class="xref" href="C1.AdoNet.CSV.C1CSVCommand.DbConnection.html#C1_AdoNet_CSV_C1CSVCommand_DbConnection">DbConnection</a>
        </td>
        <td class="markdown level1 summary"><p>Gets or sets the <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.data.common.dbconnection">DbConnection</a> used by this <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.data.common.dbcommand">DbCommand</a>.</p>
</td>
      </tr>
      <tr>
        <td id="C1_AdoNet_CSV_C1CSVCommand_DesignTimeVisible" data-uid="C1.AdoNet.CSV.C1CSVCommand.DesignTimeVisible">
          <a class="xref" href="C1.AdoNet.CSV.C1CSVCommand.DesignTimeVisible.html#C1_AdoNet_CSV_C1CSVCommand_DesignTimeVisible">DesignTimeVisible</a>
        </td>
        <td class="markdown level1 summary"><p>Gets or sets a value indicating whether the command object should be visible in a customized interface control.</p>
</td>
      </tr>
      <tr>
        <td id="C1_AdoNet_CSV_C1CSVCommand_UpdatedRowSource" data-uid="C1.AdoNet.CSV.C1CSVCommand.UpdatedRowSource">
          <a class="xref" href="C1.AdoNet.CSV.C1CSVCommand.UpdatedRowSource.html#C1_AdoNet_CSV_C1CSVCommand_UpdatedRowSource">UpdatedRowSource</a>
        </td>
        <td class="markdown level1 summary"><p>Gets or sets how command results are applied to the <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.data.datarow">DataRow</a> when used by the Update method of a <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.data.common.dbdataadapter">DbDataAdapter</a>.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="methods">Methods
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="C1_AdoNet_CSV_C1CSVCommand_ExecuteBatchCoreAsync_System_Collections_Generic_IList_C1_DataConnector_ISQLStatement__System_Threading_CancellationToken_" data-uid="C1.AdoNet.CSV.C1CSVCommand.ExecuteBatchCoreAsync(System.Collections.Generic.IList{C1.DataConnector.ISQLStatement},System.Threading.CancellationToken)">
          <a class="xref" href="C1.AdoNet.CSV.C1CSVCommand.ExecuteBatchCoreAsync.html#C1_AdoNet_CSV_C1CSVCommand_ExecuteBatchCoreAsync_System_Collections_Generic_IList_C1_DataConnector_ISQLStatement__System_Threading_CancellationToken_">ExecuteBatchCoreAsync(IList&lt;ISQLStatement&gt;, CancellationToken)</a>
        </td>
        <td class="markdown level1 summary"><p>Execute a list of nonquery in Batch.</p>
</td>
      </tr>
      <tr>
        <td id="C1_AdoNet_CSV_C1CSVCommand_ExecuteNonQueryCoreAsync_C1_DataConnector_ISQLStatement_System_Threading_CancellationToken_C1_DataConnector_SourceTable_" data-uid="C1.AdoNet.CSV.C1CSVCommand.ExecuteNonQueryCoreAsync(C1.DataConnector.ISQLStatement,System.Threading.CancellationToken,C1.DataConnector.SourceTable)">
          <a class="xref" href="C1.AdoNet.CSV.C1CSVCommand.ExecuteNonQueryCoreAsync.html#C1_AdoNet_CSV_C1CSVCommand_ExecuteNonQueryCoreAsync_C1_DataConnector_ISQLStatement_System_Threading_CancellationToken_C1_DataConnector_SourceTable_">ExecuteNonQueryCoreAsync(ISQLStatement, CancellationToken, SourceTable)</a>
        </td>
        <td class="markdown level1 summary"><p>The core method provided to execute a non-query statement.</p>
</td>
      </tr>
      <tr>
        <td id="C1_AdoNet_CSV_C1CSVCommand_ExecutePrimitiveSqlAsync_C1_DataConnector_SelectStatement_System_Threading_CancellationToken_System_Boolean_" data-uid="C1.AdoNet.CSV.C1CSVCommand.ExecutePrimitiveSqlAsync(C1.DataConnector.SelectStatement,System.Threading.CancellationToken,System.Boolean)">
          <a class="xref" href="C1.AdoNet.CSV.C1CSVCommand.ExecutePrimitiveSqlAsync.html#C1_AdoNet_CSV_C1CSVCommand_ExecutePrimitiveSqlAsync_C1_DataConnector_SelectStatement_System_Threading_CancellationToken_System_Boolean_">ExecutePrimitiveSqlAsync(SelectStatement, CancellationToken, bool)</a>
        </td>
        <td class="markdown level1 summary"><p>Execute <code class="paramref">selectStmt</code> directly in the CSV server.</p>
</td>
      </tr>
      <tr>
        <td id="C1_AdoNet_CSV_C1CSVCommand_GetColumnNames_System_String_" data-uid="C1.AdoNet.CSV.C1CSVCommand.GetColumnNames(System.String)">
          <a class="xref" href="C1.AdoNet.CSV.C1CSVCommand.GetColumnNames.html#C1_AdoNet_CSV_C1CSVCommand_GetColumnNames_System_String_">GetColumnNames(string)</a>
        </td>
        <td class="markdown level1 summary"><p>Get list of column names for table</p>
</td>
      </tr>
      <tr>
        <td id="C1_AdoNet_CSV_C1CSVCommand_GetNextResultAsync_System_Threading_CancellationToken_" data-uid="C1.AdoNet.CSV.C1CSVCommand.GetNextResultAsync(System.Threading.CancellationToken)">
          <a class="xref" href="C1.AdoNet.CSV.C1CSVCommand.GetNextResultAsync.html#C1_AdoNet_CSV_C1CSVCommand_GetNextResultAsync_System_Threading_CancellationToken_">GetNextResultAsync(CancellationToken)</a>
        </td>
        <td class="markdown level1 summary"><p>Request to get more rows result considering the last executed command.</p>
</td>
      </tr>
      <tr>
        <td id="C1_AdoNet_CSV_C1CSVCommand_GetPrimaryColumnNames_System_String_" data-uid="C1.AdoNet.CSV.C1CSVCommand.GetPrimaryColumnNames(System.String)">
          <a class="xref" href="C1.AdoNet.CSV.C1CSVCommand.GetPrimaryColumnNames.html#C1_AdoNet_CSV_C1CSVCommand_GetPrimaryColumnNames_System_String_">GetPrimaryColumnNames(string)</a>
        </td>
        <td class="markdown level1 summary"><p>Get list of primary column name.</p>
</td>
      </tr>
      <tr>
        <td id="C1_AdoNet_CSV_C1CSVCommand_GetRequiredColumnNames_System_String_System_Collections_Generic_IList_C1_DataConnector_AssignExpression__" data-uid="C1.AdoNet.CSV.C1CSVCommand.GetRequiredColumnNames(System.String,System.Collections.Generic.IList{C1.DataConnector.AssignExpression})">
          <a class="xref" href="C1.AdoNet.CSV.C1CSVCommand.GetRequiredColumnNames.html#C1_AdoNet_CSV_C1CSVCommand_GetRequiredColumnNames_System_String_System_Collections_Generic_IList_C1_DataConnector_AssignExpression__">GetRequiredColumnNames(string, IList&lt;AssignExpression&gt;)</a>
        </td>
        <td class="markdown level1 summary"><p>Get the column names used to identify a specific row into update/delete query.</p>
</td>
      </tr>
      <tr>
        <td id="C1_AdoNet_CSV_C1CSVCommand_Prepare" data-uid="C1.AdoNet.CSV.C1CSVCommand.Prepare">
          <a class="xref" href="C1.AdoNet.CSV.C1CSVCommand.Prepare.html#C1_AdoNet_CSV_C1CSVCommand_Prepare">Prepare()</a>
        </td>
        <td class="markdown level1 summary"><p>Creates a prepared (or compiled) version of the command on the data source.</p>
</td>
      </tr>
      <tr>
        <td id="C1_AdoNet_CSV_C1CSVCommand_SupportBatch_System_Collections_Generic_IEnumerator_C1_DataConnector_ISQLStatement__" data-uid="C1.AdoNet.CSV.C1CSVCommand.SupportBatch(System.Collections.Generic.IEnumerator{C1.DataConnector.ISQLStatement})">
          <a class="xref" href="C1.AdoNet.CSV.C1CSVCommand.SupportBatch.html#C1_AdoNet_CSV_C1CSVCommand_SupportBatch_System_Collections_Generic_IEnumerator_C1_DataConnector_ISQLStatement__">SupportBatch(IEnumerator&lt;ISQLStatement&gt;)</a>
        </td>
        <td class="markdown level1 summary"><p>Virtual method to check whether or not <code class="paramref">statements</code> can be executed directly
as a batch operation on the server pointed by the connection used by this command.</p>
</td>
      </tr>
      <tr>
        <td id="C1_AdoNet_CSV_C1CSVCommand_SupportColumnExpression_C1_DataConnector_SelectStatement_" data-uid="C1.AdoNet.CSV.C1CSVCommand.SupportColumnExpression(C1.DataConnector.SelectStatement)">
          <a class="xref" href="C1.AdoNet.CSV.C1CSVCommand.SupportColumnExpression.html#C1_AdoNet_CSV_C1CSVCommand_SupportColumnExpression_C1_DataConnector_SelectStatement_">SupportColumnExpression(SelectStatement)</a>
        </td>
        <td class="markdown level1 summary"><p>To check whether or not <code class="paramref">selectStmt</code> can be executed directly on the
CSV server considering the selected column expressions.</p>
</td>
      </tr>
      <tr>
        <td id="C1_AdoNet_CSV_C1CSVCommand_SupportDelete_C1_DataConnector_DeleteStatement_" data-uid="C1.AdoNet.CSV.C1CSVCommand.SupportDelete(C1.DataConnector.DeleteStatement)">
          <a class="xref" href="C1.AdoNet.CSV.C1CSVCommand.SupportDelete.html#C1_AdoNet_CSV_C1CSVCommand_SupportDelete_C1_DataConnector_DeleteStatement_">SupportDelete(DeleteStatement)</a>
        </td>
        <td class="markdown level1 summary"><p>To check whether or not <code class="paramref">deleteStmt</code> can be executed directly on the CSV server.</p>
</td>
      </tr>
      <tr>
        <td id="C1_AdoNet_CSV_C1CSVCommand_SupportGroupBy_C1_DataConnector_GroupbyClause_" data-uid="C1.AdoNet.CSV.C1CSVCommand.SupportGroupBy(C1.DataConnector.GroupbyClause)">
          <a class="xref" href="C1.AdoNet.CSV.C1CSVCommand.SupportGroupBy.html#C1_AdoNet_CSV_C1CSVCommand_SupportGroupBy_C1_DataConnector_GroupbyClause_">SupportGroupBy(GroupbyClause)</a>
        </td>
        <td class="markdown level1 summary"><p>To check whether or not <code class="paramref">groupby</code> can be executed directly on the CSV server.</p>
</td>
      </tr>
      <tr>
        <td id="C1_AdoNet_CSV_C1CSVCommand_SupportInsert_C1_DataConnector_InsertStatement_" data-uid="C1.AdoNet.CSV.C1CSVCommand.SupportInsert(C1.DataConnector.InsertStatement)">
          <a class="xref" href="C1.AdoNet.CSV.C1CSVCommand.SupportInsert.html#C1_AdoNet_CSV_C1CSVCommand_SupportInsert_C1_DataConnector_InsertStatement_">SupportInsert(InsertStatement)</a>
        </td>
        <td class="markdown level1 summary"><p>To check or not if <code class="paramref">insertStmt</code> can be executed directly on the CSV server.</p>
</td>
      </tr>
      <tr>
        <td id="C1_AdoNet_CSV_C1CSVCommand_SupportJoin_C1_DataConnector_SelectStatement_" data-uid="C1.AdoNet.CSV.C1CSVCommand.SupportJoin(C1.DataConnector.SelectStatement)">
          <a class="xref" href="C1.AdoNet.CSV.C1CSVCommand.SupportJoin.html#C1_AdoNet_CSV_C1CSVCommand_SupportJoin_C1_DataConnector_SelectStatement_">SupportJoin(SelectStatement)</a>
        </td>
        <td class="markdown level1 summary"><p>To check whether or not joinStatement can be executed directly on the CSV server.</p>
</td>
      </tr>
      <tr>
        <td id="C1_AdoNet_CSV_C1CSVCommand_SupportLimit_C1_DataConnector_SelectStatement_" data-uid="C1.AdoNet.CSV.C1CSVCommand.SupportLimit(C1.DataConnector.SelectStatement)">
          <a class="xref" href="C1.AdoNet.CSV.C1CSVCommand.SupportLimit.html#C1_AdoNet_CSV_C1CSVCommand_SupportLimit_C1_DataConnector_SelectStatement_">SupportLimit(SelectStatement)</a>
        </td>
        <td class="markdown level1 summary"><p>To check whether or not <code class="paramref">limit</code> and <code class="paramref">offset</code> can be executed directly on the CSV server.</p>
</td>
      </tr>
      <tr>
        <td id="C1_AdoNet_CSV_C1CSVCommand_SupportOrderBy_System_Collections_Generic_IList_C1_DataConnector_OrderbyColumn__" data-uid="C1.AdoNet.CSV.C1CSVCommand.SupportOrderBy(System.Collections.Generic.IList{C1.DataConnector.OrderbyColumn})">
          <a class="xref" href="C1.AdoNet.CSV.C1CSVCommand.SupportOrderBy.html#C1_AdoNet_CSV_C1CSVCommand_SupportOrderBy_System_Collections_Generic_IList_C1_DataConnector_OrderbyColumn__">SupportOrderBy(IList&lt;OrderbyColumn&gt;)</a>
        </td>
        <td class="markdown level1 summary"><p>To check whether or not <code class="paramref">orderby</code> can be executed directly on the CSV server.</p>
</td>
      </tr>
      <tr>
        <td id="C1_AdoNet_CSV_C1CSVCommand_SupportUpdate_C1_DataConnector_UpdateStatement_" data-uid="C1.AdoNet.CSV.C1CSVCommand.SupportUpdate(C1.DataConnector.UpdateStatement)">
          <a class="xref" href="C1.AdoNet.CSV.C1CSVCommand.SupportUpdate.html#C1_AdoNet_CSV_C1CSVCommand_SupportUpdate_C1_DataConnector_UpdateStatement_">SupportUpdate(UpdateStatement)</a>
        </td>
        <td class="markdown level1 summary"><p>To check whether or not updateStatement can be executed directly on the CSV server.</p>
</td>
      </tr>
      <tr>
        <td id="C1_AdoNet_CSV_C1CSVCommand_SupportWhere_C1_DataConnector_IExpression_" data-uid="C1.AdoNet.CSV.C1CSVCommand.SupportWhere(C1.DataConnector.IExpression)">
          <a class="xref" href="C1.AdoNet.CSV.C1CSVCommand.SupportWhere.html#C1_AdoNet_CSV_C1CSVCommand_SupportWhere_C1_DataConnector_IExpression_">SupportWhere(IExpression)</a>
        </td>
        <td class="markdown level1 summary"><p>To check whether or not <code class="paramref">where</code> can be executed directly on the CSV server.</p>
</td>
      </tr>
      <tr>
        <td id="C1_AdoNet_CSV_C1CSVCommand_ValidateStatement_C1_DataConnector_ISQLStatement_" data-uid="C1.AdoNet.CSV.C1CSVCommand.ValidateStatement(C1.DataConnector.ISQLStatement)">
          <a class="xref" href="C1.AdoNet.CSV.C1CSVCommand.ValidateStatement.html#C1_AdoNet_CSV_C1CSVCommand_ValidateStatement_C1_DataConnector_ISQLStatement_">ValidateStatement(ISQLStatement)</a>
        </td>
        <td class="markdown level1 summary"><p>Validate for all type of statement.</p>
</td>
      </tr>
    </tbody>
  </table>

</div>
