Click or drag to resize

MySqlCommand Class

Represents a SQL statement to execute against a MySQL database. This class cannot be inherited.
Inheritance Hierarchy

Namespace:  MySql.Data.MySqlClient
Assembly:  MySql.Data (in MySql.Data.dll) Version: 8.0.22
Syntax
public sealed class MySqlCommand : DbCommand, 
	IDisposable, ICloneable

The MySqlCommand type exposes the following members.

Constructors
  NameDescription
Public methodCode exampleMySqlCommand
Initializes a new instance of the MySqlCommand class.
Public methodCode exampleMySqlCommand(String)
Initializes a new instance of the MySqlCommand class with the text of the query.
Public methodCode exampleMySqlCommand(String, MySqlConnection)
Initializes a new instance of the MySqlCommand class with the text of the query and a MySqlConnection.
Public methodCode exampleMySqlCommand(String, MySqlConnection, MySqlTransaction)
Initializes a new instance of the MySqlCommand class with the text of the query, a MySqlConnection, and the MySqlTransaction.
Top
Properties
  NameDescription
Public propertyCacheAge
Gets or sets the seconds for how long a TableDirect result should be cached.
Protected propertyCanRaiseEvents
Gets a value indicating whether the component can raise an event.
(Inherited from Component.)
Public propertyCode exampleCommandText
Gets or sets the SQL statement to execute at the data source.
(Overrides DbCommandCommandText.)
Public propertyCommandTimeout
Gets or sets the wait time before terminating the attempt to execute a command and generating an error.
(Overrides DbCommandCommandTimeout.)
Public propertyCode exampleCommandType
Gets or sets a value indicating how the CommandText property is to be interpreted.
(Overrides DbCommandCommandType.)
Public propertyCode exampleConnection
Gets or sets the MySqlConnection used by this instance of the MySqlCommand.
Public propertyContainer
Gets the IContainer that contains the Component.
(Inherited from Component.)
Protected propertyDbConnection (Overrides DbCommandDbConnection.)
Protected propertyDbParameterCollection (Overrides DbCommandDbParameterCollection.)
Protected propertyDbTransaction (Overrides DbCommandDbTransaction.)
Protected propertyDesignMode
Gets a value that indicates whether the Component is currently in design mode.
(Inherited from Component.)
Public propertyDesignTimeVisible
Gets or sets a value indicating whether the command object should be visible in a Windows Form Designer control.
(Overrides DbCommand.DesignTimeVisible.)
Public propertyEnableCaching
Gets or sets a boolean value that indicates whether caching is enabled.
Protected propertyEvents
Gets the list of event handlers that are attached to this Component.
(Inherited from Component.)
Public propertyIsPrepared
Gets a boolean value that indicates whether the Prepared method has been called.
Public propertyLastInsertedId
Gets the last inserted id.
Public propertyCode exampleParameters
Public propertySite
Gets or sets the ISite of the Component.
(Inherited from Component.)
Public propertyTransaction
Gets or sets the MySqlTransaction within which the MySqlCommand executes.
Public propertyUpdatedRowSource
Gets or sets how command results are applied to the DataRow when used by the Update method of the DbDataAdapter.
(Overrides DbCommandUpdatedRowSource.)
Top
Methods
  NameDescription
Public methodBeginExecuteNonQuery
Initiates the asynchronous execution of the SQL statement or stored procedure that is described by this MySqlCommand.
Public methodBeginExecuteNonQuery(AsyncCallback, Object)
Initiates the asynchronous execution of the SQL statement or stored procedure that is described by this MySqlCommand.
Public methodBeginExecuteReader
Initiates the asynchronous execution of the SQL statement or stored procedure that is described by this MySqlCommand, and retrieves one or more result sets from the server.
Public methodBeginExecuteReader(CommandBehavior)
Initiates the asynchronous execution of the SQL statement or stored procedure that is described by this MySqlCommand using one of the CommandBehavior values.
Public methodCancel
Attempts to cancel the execution of a currently active command
(Overrides DbCommandCancel.)
Public methodClone
Creates a clone of this MySqlCommand object. CommandText, Connection, and Transaction properties are included as well as the entire parameter list.
Protected methodCreateDbParameter (Overrides DbCommandCreateDbParameter.)
Public methodCreateObjRef
Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.
(Inherited from MarshalByRefObject.)
Public methodCreateParameter
Creates a new instance of a MySqlParameter object.
Public methodDispose
Releases all resources used by the MySqlCommand
Protected methodDispose(Boolean)
Releases the unmanaged resources used by the MySqlCommand and optionally releases the managed resources
(Overrides ComponentDispose(Boolean).)
Public methodEndExecuteNonQuery
Finishes asynchronous execution of a SQL statement.
Public methodEndExecuteReader
Finishes asynchronous execution of a SQL statement, returning the requested MySqlDataReader.
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodExecuteDbDataReader (Overrides DbCommandExecuteDbDataReader(CommandBehavior).)
Protected methodExecuteDbDataReaderAsync
Providers should implement this method to provide a non-default implementation for ExecuteReader overloads.The default implementation invokes the synchronous ExecuteReader method and returns a completed task, blocking the calling thread. The default implementation will return a cancelled task if passed an already cancelled cancellation token. Exceptions thrown by ExecuteReader will be communicated via the returned Task Exception property.This method accepts a cancellation token that can be used to request the operation to be cancelled early. Implementations may ignore this request.
(Inherited from DbCommand.)
Public methodCode exampleExecuteNonQuery
Executes a SQL statement against the connection and returns the number of rows affected.
(Overrides DbCommandExecuteNonQuery.)
Public methodExecuteNonQueryAsync
An asynchronous version of ExecuteNonQuery, which executes a SQL statement against a connection object.Invokes ExecuteNonQueryAsync(CancellationToken) with CancellationToken.None.
(Inherited from DbCommand.)
Public methodExecuteNonQueryAsync(CancellationToken)
This is the asynchronous version of ExecuteNonQuery. Providers should override with an appropriate implementation. The cancellation token may optionally be ignored.The default implementation invokes the synchronous ExecuteNonQuery method and returns a completed task, blocking the calling thread. The default implementation will return a cancelled task if passed an already cancelled cancellation token. Exceptions thrown by ExecuteNonQuery will be communicated via the returned Task Exception property.Do not invoke other methods and properties of the DbCommand object until the returned Task is complete.
(Inherited from DbCommand.)
Public methodCode exampleExecuteReader
Sends the CommandText to the Connection and builds a MySqlDataReader.
Public methodExecuteReader(CommandBehavior)
Sends the CommandText to the Connection, and builds a MySqlDataReader using one of the CommandBehavior values.
Public methodExecuteReaderAsync (Inherited from DbCommand.)
Public methodExecuteReaderAsync(CancellationToken)
An asynchronous version of ExecuteReader, which executes the CommandText against the Connection and returns a DbDataReader. This method propagates a notification that operations should be canceled.Invokes ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken).
(Inherited from DbCommand.)
Public methodExecuteReaderAsync(CommandBehavior) (Inherited from DbCommand.)
Public methodExecuteReaderAsync(CommandBehavior, CancellationToken) (Inherited from DbCommand.)
Public methodCode exampleExecuteScalar
Executes the query, and returns the first column of the first row in the result set returned by the query. Extra columns or rows are ignored.
(Overrides DbCommandExecuteScalar.)
Public methodExecuteScalarAsync
An asynchronous version of ExecuteScalar, which executes the query and returns the first column of the first row in the result set returned by the query. All other columns and rows are ignored.Invokes ExecuteScalarAsync(CancellationToken) with CancellationToken.None.
(Inherited from DbCommand.)
Public methodExecuteScalarAsync(CancellationToken)
This is the asynchronous version of ExecuteScalar. Providers should override with an appropriate implementation. The cancellation token may optionally be ignored.The default implementation invokes the synchronous ExecuteScalar method and returns a completed task, blocking the calling thread. The default implementation will return a cancelled task if passed an already cancelled cancellation token. Exceptions thrown by ExecuteScalar will be communicated via the returned Task Exception property.Do not invoke other methods and properties of the DbCommand object until the returned Task is complete.
(Inherited from DbCommand.)
Protected methodFinalize (Overrides ComponentFinalize.)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetLifetimeService
Retrieves the current lifetime service object that controls the lifetime policy for this instance.
(Inherited from MarshalByRefObject.)
Protected methodGetService
Returns an object that represents a service provided by the Component or by its Container.
(Inherited from Component.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodInitializeLifetimeService
Obtains a lifetime service object to control the lifetime policy for this instance.
(Inherited from MarshalByRefObject.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Protected methodMemberwiseClone(Boolean)
Creates a shallow copy of the current MarshalByRefObject object.
(Inherited from MarshalByRefObject.)
Public methodCode examplePrepare
Creates a prepared version of the command on an instance of MySQL Server.
(Overrides DbCommandPrepare.)
Public methodToString
Returns a String containing the name of the Component, if any. This method should not be overridden.
(Inherited from Component.)
Top
Events
  NameDescription
Public eventDisposed
Occurs when the component is disposed by a call to the Dispose method.
(Inherited from Component.)
Top
Remarks
MySqlCommand features the following methods for executing commands at a MySQL database:
ItemDescription
ExecuteReaderExecutes commands that return rows.
ExecuteNonQueryExecutes commands such as SQL INSERT, DELETE, and UPDATE statements.
ExecuteScalarRetrieves a single value (for example, an aggregate value) from a database.
You can reset the CommandText property and reuse the MySqlCommand object. However, you must close the MySqlDataReader before you can execute a new or previous command. If a MySqlException is generated by the method executing a MySqlCommand, the MySqlConnection remains open. It is the responsibility of the programmer to close the connection.
Note Note
Using the '@' symbol for paramters is now the preferred approach although the old pattern of using '?' is still supported. Please be aware though that using '@' can cause conflicts when user variables are also used. To help with this situation please see the documentation on the 'allow user variables' connection string option. The 'old syntax' connection string option has now been deprecated.
Examples
The following example creates a MySqlCommand and a MySqlConnection. The MySqlConnection is opened and set as the Connection for the MySqlCommand. The example then calls ExecuteNonQuery, and closes the connection. To accomplish this, the ExecuteNonQuery is passed a connection string and a query string that is a SQL INSERT statement.
public void InsertRow(string myConnectionString)
{
// If the connection string is null, use a default.
if(myConnectionString == "")
{
myConnectionString = "Database=Test;Data Source=localhost;User Id=username;Password=pass";
}
MySqlConnection myConnection = new MySqlConnection(myConnectionString);
string myInsertQuery = "INSERT INTO Orders (id, customerId, amount) Values(1001, 23, 30.66)";
MySqlCommand myCommand = new MySqlCommand(myInsertQuery);
myCommand.Connection = myConnection;
myConnection.Open();
myCommand.ExecuteNonQuery();
myCommand.Connection.Close();
}
See Also