123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934 |
- <docs>
- <ClassSummary>
- <summary>Represents a SQL statement to execute against a MySQL database. This class cannot be inherited.</summary>
- <remarks>
- <B>MySqlCommand</B> features the following methods for executing commands at a MySQL database:
- <list type="table">
- <listheader>
- <term>Item</term>
- <term>Description</term>
- </listheader>
- <item>
- <term>
- <a href="MySql.Data.MySqlClient.MySqlCommand.ExecuteReader_overloads.html">ExecuteReader</a>
- </term>
- <description>Executes commands that return rows.</description>
- </item>
- <item>
- <term>
- <a href="MySql.Data.MySqlClient.MySqlCommand.ExecuteNonQuery.html">ExecuteNonQuery</a>
- </term>
- <description>Executes commands such as SQL INSERT, DELETE, and UPDATE statements.</description>
- </item>
- <item>
- <term>
- <a href="MySql.Data.MySqlClient.MySqlCommand.ExecuteScalar.html">ExecuteScalar</a>
- </term>
- <description>Retrieves a single value (for example, an aggregate value) from a database.</description>
- </item>
- </list>
-
- You can reset the <B>CommandText</B> property and reuse the <B>MySqlCommand</B>
- object. However, you must close the <A
- href="MySql.Data.MySqlClient.MySqlDataReader.html">MySqlDataReader</A>
- before you can execute a new or previous command.
-
- If a <A href="MySql.Data.MySqlClient.MySqlException.html">MySqlException</A> is
- generated by the method executing a <B>MySqlCommand</B>, the <A
- href="MySql.Data.MySqlClient.MySqlConnection.html">MySqlConnection</A>
- remains open. It is the responsibility of the programmer to close the connection.
-
- <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.
- </note>
- </remarks>
-
- <example>
- The following example creates a <A href="frlrfsystemdatasqlclientsqlcommandclasstopic.htm">MySqlCommand</A> and
- a <B>MySqlConnection</B>. The <B>MySqlConnection</B> is opened and set as the <A
- href="frlrfsystemdatasqlclientsqlcommandclassconnectiontopic.htm">Connection</A>
- for the <B>MySqlCommand</B>. The example then calls <A
- href="frlrfsystemdatasqlclientsqlcommandclassexecutenonquerytopic.htm">ExecuteNonQuery</A>,
- and closes the connection. To accomplish this, the <B>ExecuteNonQuery</B> is
- passed a connection string and a query string that is a SQL INSERT
- statement.
- <code lang="vbnet">
- Public Sub InsertRow(myConnectionString As String)
- " If the connection string is null, use a default.
- If myConnectionString = "" Then
- myConnectionString = "Database=Test;Data Source=localhost;User Id=username;Password=pass"
- End If
- Dim myConnection As New MySqlConnection(myConnectionString)
- Dim myInsertQuery As String = "INSERT INTO Orders (id, customerId, amount) Values(1001, 23, 30.66)"
- Dim myCommand As New MySqlCommand(myInsertQuery)
- myCommand.Connection = myConnection
- myConnection.Open()
- myCommand.ExecuteNonQuery()
- myCommand.Connection.Close()
- End Sub
- </code>
- <code lang="C#">
- 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();
- }
- </code>
- </example>
- </ClassSummary>
-
-
-
- <ctor1>
- <overloads>
- <summary>
- Initializes a new instance of the MySqlCommand class.
- </summary>
- <example>
- The following example creates a MySqlCommand and sets some of its properties.
- <para></para>
- <note>
- This example shows how to use one of the overloaded
- versions of the MySqlCommand constructor. For other examples that might be available,
- see the individual overload topics.
- </note>
-
- <code lang="vbnet">
- Public Sub CreateMySqlCommand()
- Dim myConnection As New MySqlConnection _
- ("Persist Security Info=False;database=test;server=myServer")
- myConnection.Open()
- Dim myTrans As MySqlTransaction = myConnection.BeginTransaction()
- Dim mySelectQuery As String = "SELECT * FROM MyTable"
- Dim myCommand As New MySqlCommand(mySelectQuery, myConnection, myTrans)
- myCommand.CommandTimeout = 20
- End Sub
- </code>
- <code lang="C#">
- public void CreateMySqlCommand()
- {
- MySqlConnection myConnection = new MySqlConnection("Persist Security Info=False;
- database=test;server=myServer");
- myConnection.Open();
- MySqlTransaction myTrans = myConnection.BeginTransaction();
- string mySelectQuery = "SELECT * FROM myTable";
- MySqlCommand myCommand = new MySqlCommand(mySelectQuery, myConnection,myTrans);
- myCommand.CommandTimeout = 20;
- }
- </code>
- <code lang="C++">
- public:
- void CreateMySqlCommand()
- {
- MySqlConnection* myConnection = new MySqlConnection(S"Persist Security Info=False;
- database=test;server=myServer");
- myConnection->Open();
- MySqlTransaction* myTrans = myConnection->BeginTransaction();
- String* mySelectQuery = S"SELECT * FROM myTable";
- MySqlCommand* myCommand = new MySqlCommand(mySelectQuery, myConnection, myTrans);
- myCommand->CommandTimeout = 20;
- };
- </code>
- </example>
- </overloads>
-
-
- <summary>
- Initializes a new instance of the MySqlCommand class.
- </summary>
- <remarks>
- The base constructor initializes all fields to their default values. The
- following table shows initial property values for an instance of <see cref="MySqlCommand"/>.
- <list type="table">
- <listheader>
- <term>Properties</term>
- <term>Initial Value</term>
- </listheader>
- <item>
- <term>
- <see cref="CommandText"/>
- </term>
- <term>empty string ("")</term>
- </item>
- <item>
- <term>
- <see cref="CommandTimeout"/>
- </term>
- <term>0</term>
- </item>
- <item>
- <term>
- <see cref="CommandType"/>
- </term>
- <term>CommandType.Text</term>
- </item>
- <item>
- <term>
- <see cref="Connection"/>
- </term>
- <term>Null</term>
- </item>
- </list>
- <para>
- You can change the value for any of these properties through a separate call to
- the property.
- </para>
- </remarks>
- <example>
- The following example creates a <see cref="MySqlCommand"/> and
- sets some of its properties.
-
- <code lang="vbnet">
- Public Sub CreateMySqlCommand()
- Dim myCommand As New MySqlCommand()
- myCommand.CommandType = CommandType.Text
- End Sub
- </code>
- <code lang="C#">
- public void CreateMySqlCommand()
- {
- MySqlCommand myCommand = new MySqlCommand();
- myCommand.CommandType = CommandType.Text;
- }
- </code>
- </example>
- </ctor1>
-
- <ctor2>
- <summary>
- Initializes a new instance of the <see cref="MySqlCommand"/> class with the text of the query.
- </summary>
- <param name="cmdText">The text of the query.</param>
- <remarks>
- When an instance of <see cref="MySqlCommand"/> is created,
- the following read/write properties are set to initial values.
-
- <list type="table">
- <listheader>
- <term>Properties</term>
- <term>Initial Value</term>
- </listheader>
- <item>
- <term>
- <see cref="CommandText"/>
- </term>
- <term>
- <i>cmdText</i>
- </term>
- </item>
- <item>
- <term>
- <see cref="CommandTimeout"/>
- </term>
- <term>0</term>
- </item>
- <item>
- <term>
- <see cref="CommandType"/>
- </term>
- <term>CommandType.Text</term>
- </item>
- <item>
- <term>
- <see cref="Connection"/>
- </term>
- <term>Null</term>
- </item>
- </list>
- <para>
- You can change the value for any of these properties through a separate call to
- the property.
- </para>
- </remarks>
- <example>
- The following example creates a <see cref="MySqlCommand"/> and
- sets some of its properties.
-
- <code lang="vbnet">
- Public Sub CreateMySqlCommand()
- Dim sql as String = "SELECT * FROM mytable"
- Dim myCommand As New MySqlCommand(sql)
- myCommand.CommandType = CommandType.Text
- End Sub
- </code>
- <code lang="C#">
- public void CreateMySqlCommand()
- {
- string sql = "SELECT * FROM mytable";
- MySqlCommand myCommand = new MySqlCommand(sql);
- myCommand.CommandType = CommandType.Text;
- }
- </code>
- </example>
- </ctor2>
-
- <ctor3>
- <summary>
- Initializes a new instance of the <see cref="MySqlCommand"/> class
- with the text of the query and a <see cref="MySqlConnection"/>.
- </summary>
- <param name="cmdText">The text of the query.</param>
- <param name="connection">
- A <see cref="MySqlConnection"/> that represents the
- connection to an instance of SQL Server.
- </param>
- <remarks>
- When an instance of <see cref="MySqlCommand"/> is created,
- the following read/write properties are set to initial values.
-
- <list type="table">
- <listheader>
- <term>Properties</term>
- <term>Initial Value</term>
- </listheader>
- <item>
- <term>
- <see cref="CommandText"/>
- </term>
- <term>
- <i>cmdText</i>
- </term>
- </item>
- <item>
- <term>
- <see cref="CommandTimeout"/>
- </term>
- <term>0</term>
- </item>
- <item>
- <term>
- <see cref="CommandType"/>
- </term>
- <term>CommandType.Text</term>
- </item>
- <item>
- <term>
- <see cref="Connection"/>
- </term>
- <term>
- <i>connection</i>
- </term>
- </item>
- </list>
- <para>
- You can change the value for any of these properties through a separate call to
- the property.
- </para>
- </remarks>
- <example>
- The following example creates a <see cref="MySqlCommand"/> and
- sets some of its properties.
-
- <code lang="vbnet">
- Public Sub CreateMySqlCommand()
- Dim conn as new MySqlConnection("server=myServer")
- Dim sql as String = "SELECT * FROM mytable"
- Dim myCommand As New MySqlCommand(sql, conn)
- myCommand.CommandType = CommandType.Text
- End Sub
- </code>
- <code lang="C#">
- public void CreateMySqlCommand()
- {
- MySqlConnection conn = new MySqlConnection("server=myserver")
- string sql = "SELECT * FROM mytable";
- MySqlCommand myCommand = new MySqlCommand(sql, conn);
- myCommand.CommandType = CommandType.Text;
- }
- </code>
- </example>
-
-
- </ctor3>
-
- <ctor4>
- <summary>
- Initializes a new instance of the <see cref="MySqlCommand"/> class
- with the text of the query, a <see cref="MySqlConnection"/>, and the
- <see cref="MySqlTransaction"/>.
- </summary>
-
- <param name="cmdText">The text of the query.</param>
- <param name="connection">
- A <see cref="MySqlConnection"/> that represents the
- connection to an instance of SQL Server.
- </param>
- <param name="transaction">
- The <see cref="MySqlTransaction"/> in which the <see cref="MySqlCommand"/> executes.
- </param>
- <remarks>
- When an instance of <see cref="MySqlCommand"/> is created,
- the following read/write properties are set to initial values.
-
- <list type="table">
- <listheader>
- <term>Properties</term>
- <term>Initial Value</term>
- </listheader>
- <item>
- <term>
- <see cref="CommandText"/>
- </term>
- <term>
- <i>cmdText</i>
- </term>
- </item>
- <item>
- <term>
- <see cref="CommandTimeout"/>
- </term>
- <term>0</term>
- </item>
- <item>
- <term>
- <see cref="CommandType"/>
- </term>
- <term>CommandType.Text</term>
- </item>
- <item>
- <term>
- <see cref="Connection"/>
- </term>
- <term>
- <i>connection</i>
- </term>
- </item>
- </list>
- <para>
- You can change the value for any of these properties through a separate call to
- the property.
- </para>
- </remarks>
- <example>
- The following example creates a <see cref="MySqlCommand"/> and
- sets some of its properties.
-
- <code lang="vbnet">
- Public Sub CreateMySqlCommand()
- Dim conn as new MySqlConnection("server=myServer")
- conn.Open();
- Dim txn as MySqlTransaction = conn.BeginTransaction()
- Dim sql as String = "SELECT * FROM mytable"
- Dim myCommand As New MySqlCommand(sql, conn, txn)
- myCommand.CommandType = CommandType.Text
- End Sub
- </code>
- <code lang="C#">
- public void CreateMySqlCommand()
- {
- MySqlConnection conn = new MySqlConnection("server=myserver")
- conn.Open();
- MySqlTransaction txn = conn.BeginTransaction();
- string sql = "SELECT * FROM mytable";
- MySqlCommand myCommand = new MySqlCommand(sql, conn, txn);
- myCommand.CommandType = CommandType.Text;
- }
- </code>
- </example>
-
- </ctor4>
-
-
-
-
- <ExecuteNonQuery>
- <summary>
- Executes a SQL statement against the connection and returns the number of rows affected.
- </summary>
- <returns>Number of rows affected</returns>
- <remarks>
- You can use ExecuteNonQuery to perform any type of database operation,
- however any resultsets returned will not be available. Any output parameters
- used in calling a stored procedure will be populated with data and can be
- retrieved after execution is complete.
- For UPDATE, INSERT, and DELETE statements, the return value is the number
- of rows affected by the command. For all other types of statements, the return
- value is -1.
- </remarks>
- <example>
- The following example creates a MySqlCommand and then
- executes it using ExecuteNonQuery. The example is passed a string that is a
- SQL statement (such as UPDATE, INSERT, or DELETE) and a string to use to
- connect to the data source.
- <code lang="vbnet">
- Public Sub CreateMySqlCommand(myExecuteQuery As String, myConnection As MySqlConnection)
- Dim myCommand As New MySqlCommand(myExecuteQuery, myConnection)
- myCommand.Connection.Open()
- myCommand.ExecuteNonQuery()
- myConnection.Close()
- End Sub
- </code>
- <code lang="C#">
- public void CreateMySqlCommand(string myExecuteQuery, MySqlConnection myConnection)
- {
- MySqlCommand myCommand = new MySqlCommand(myExecuteQuery, myConnection);
- myCommand.Connection.Open();
- myCommand.ExecuteNonQuery();
- myConnection.Close();
- }
- </code>
- </example>
- </ExecuteNonQuery>
-
- <ExecuteReader1>
- <summary>
- Sends the <see cref="CommandText"/> to the <see cref="MySqlConnection">Connection</see>,
- and builds a <see cref="MySqlDataReader"/> using one of the <see cref="CommandBehavior"/> values.
- </summary>
- <param name="behavior">
- One of the <see cref="CommandBehavior"/> values.
- </param>
- <remarks>
- <para>
- When the <see cref="CommandType"/> property is set to <B>StoredProcedure</B>,
- the <see cref="CommandText"/> property should be set to the name of the stored
- procedure. The command executes this stored procedure when you call
- <B>ExecuteReader</B>.
- </para>
- <para>
- The <see cref="MySqlDataReader"/> supports a special mode that enables large binary
- values to be read efficiently. For more information, see the <B>SequentialAccess</B>
- setting for <see cref="CommandBehavior"/>.
- </para>
- <para>
- While the <see cref="MySqlDataReader"/> is in use, the associated
- <see cref="MySqlConnection"/> is busy serving the <B>MySqlDataReader</B>.
- While in this state, no other operations can be performed on the
- <B>MySqlConnection</B> other than closing it. This is the case until the
- <see cref="MySqlDataReader.Close"/> method of the <B>MySqlDataReader</B> is called.
- If the <B>MySqlDataReader</B> is created with <B>CommandBehavior</B> set to
- <B>CloseConnection</B>, closing the <B>MySqlDataReader</B> closes the connection
- automatically.
- </para>
- <note>
- When calling ExecuteReader with the SingleRow behavior, you should be aware that using a <i>limit</i>
- clause in your SQL will cause all rows (up to the limit given) to be retrieved by the client. The
- <see cref="MySqlDataReader.Read"/> method will still return false after the first row but pulling all rows of data
- into the client will have a performance impact. If the <i>limit</i> clause is not necessary, it should
- be avoided.
- </note>
- </remarks>
- <returns>
- A <see cref="MySqlDataReader"/> object.
- </returns>
- </ExecuteReader1>
-
-
- <ExecuteReader>
- <summary>
- Sends the <see cref="CommandText"/> to the <see cref="MySqlConnection">Connection</see>
- and builds a <see cref="MySqlDataReader"/>.
- </summary>
- <returns>
- A <see cref="MySqlDataReader"/> object.
- </returns>
- <remarks>
- <para>
- When the <see cref="CommandType"/> property is set to <B>StoredProcedure</B>,
- the <see cref="CommandText"/> property should be set to the name of the stored
- procedure. The command executes this stored procedure when you call
- <B>ExecuteReader</B>.
- </para>
- <para>
- While the <see cref="MySqlDataReader"/> is in use, the associated
- <see cref="MySqlConnection"/> is busy serving the <B>MySqlDataReader</B>.
- While in this state, no other operations can be performed on the
- <B>MySqlConnection</B> other than closing it. This is the case until the
- <see cref="MySqlDataReader.Close"/> method of the <B>MySqlDataReader</B> is called.
- </para>
- </remarks>
- <example>
- The following example creates a <see cref="MySqlCommand"/>, then executes it by
- passing a string that is a SQL SELECT statement, and a string to use to connect to the
- data source.
- <code lang="vbnet">
- Public Sub CreateMySqlDataReader(mySelectQuery As String, myConnection As MySqlConnection)
- Dim myCommand As New MySqlCommand(mySelectQuery, myConnection)
- myConnection.Open()
- Dim myReader As MySqlDataReader
- myReader = myCommand.ExecuteReader()
- Try
- While myReader.Read()
- Console.WriteLine(myReader.GetString(0))
- End While
- Finally
- myReader.Close
- myConnection.Close
- End Try
- End Sub
- </code>
- <code lang="C#">
- public void CreateMySqlDataReader(string mySelectQuery, MySqlConnection myConnection)
- {
- MySqlCommand myCommand = new MySqlCommand(mySelectQuery, myConnection);
- myConnection.Open();
- MMySqlDataReader myReader;
- myReader = myCommand.ExecuteReader();
- try
- {
- while(myReader.Read())
- {
- Console.WriteLine(myReader.GetString(0));
- }
- }
- finally
- {
- myReader.Close();
- myConnection.Close();
- }
- }
- </code>
- </example>
- </ExecuteReader>
-
-
- <Prepare>
- <summary>
- Creates a prepared version of the command on an instance of MySQL Server.
- </summary>
- <remarks>
- <para>
- Prepared statements are only supported on MySQL version 4.1 and higher. Calling
- prepare while connected to earlier versions of MySQL will succeed but will execute
- the statement in the same way as unprepared.
- </para>
- </remarks>
- <example>
- The following example demonstrates the use of the <b>Prepare</b> method.
- <code lang="VB.NET">
- public sub PrepareExample()
- Dim cmd as New MySqlCommand("INSERT INTO mytable VALUES (@val)", myConnection)
- cmd.Parameters.Add( "@val", 10 )
- cmd.Prepare()
- cmd.ExecuteNonQuery()
-
- cmd.Parameters(0).Value = 20
- cmd.ExecuteNonQuery()
- end sub
- </code>
- <code lang="C#">
- private void PrepareExample()
- {
- MySqlCommand cmd = new MySqlCommand("INSERT INTO mytable VALUES (@val)", myConnection);
- cmd.Parameters.Add( "@val", 10 );
- cmd.Prepare();
- cmd.ExecuteNonQuery();
-
- cmd.Parameters[0].Value = 20;
- cmd.ExecuteNonQuery();
- }
- </code>
- </example>
- </Prepare>
-
- <ExecuteScalar>
- <summary>
- 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.
- </summary>
- <returns>
- The first column of the first row in the result set, or a null reference if the
- result set is empty
- </returns>
- <remarks>
- <para>
- Use the <B>ExecuteScalar</B> method to retrieve a single value (for example,
- an aggregate value) from a database. This requires less code than using the
- <see cref="ExecuteReader()"/> method, and then performing the operations necessary
- to generate the single value using the data returned by a <see cref="MySqlDataReader"/>
- </para>
- </remarks>
- <example>
- The following example creates a <see cref="MySqlCommand"/> and then
- executes it using <B>ExecuteScalar</B>. The example is passed a string that is a
- SQL statement that returns an aggregate result, and a string to use to
- connect to the data source.
-
- <code lang="vbnet">
- Public Sub CreateMySqlCommand(myScalarQuery As String, myConnection As MySqlConnection)
- Dim myCommand As New MySqlCommand(myScalarQuery, myConnection)
- myCommand.Connection.Open()
- myCommand.ExecuteScalar()
- myConnection.Close()
- End Sub
- </code>
- <code lang="C#">
- public void CreateMySqlCommand(string myScalarQuery, MySqlConnection myConnection)
- {
- MySqlCommand myCommand = new MySqlCommand(myScalarQuery, myConnection);
- myCommand.Connection.Open();
- myCommand.ExecuteScalar();
- myConnection.Close();
- }
- </code>
- <code lang="C++">
- public:
- void CreateMySqlCommand(String* myScalarQuery, MySqlConnection* myConnection)
- {
- MySqlCommand* myCommand = new MySqlCommand(myScalarQuery, myConnection);
- myCommand->Connection->Open();
- myCommand->ExecuteScalar();
- myConnection->Close();
- }
- </code>
-
- </example>
- </ExecuteScalar>
-
- <CommandText>
- <summary>
- Gets or sets the SQL statement to execute at the data source.
- </summary>
- <value>
- The SQL statement or stored procedure to execute. The default is an empty string.
- </value>
- <remarks>
- <para>
- When the <see cref="CommandType"/> property is set to <B>StoredProcedure</B>,
- the <B>CommandText</B> property should be set to the name of the stored procedure.
- The user may be required to use escape character syntax if the stored procedure name
- contains any special characters. The command executes this stored procedure when
- you call one of the Execute methods. Starting with Connector/Net 5.0, having both a stored function
- and stored procedure with the same name in the same database is not supported. It is
- suggested that you provide unqiue names for your stored routines.
- </para>
- </remarks>
- <example>
- The following example creates a <see cref="MySqlCommand"/> and sets some of its properties.
- <code lang="vbnet">
- Public Sub CreateMySqlCommand()
- Dim myCommand As New MySqlCommand()
- myCommand.CommandText = "SELECT * FROM Mytable ORDER BY id"
- myCommand.CommandType = CommandType.Text
- End Sub
- </code>
- <code lang="C#">
- public void CreateMySqlCommand()
- {
- MySqlCommand myCommand = new MySqlCommand();
- myCommand.CommandText = "SELECT * FROM mytable ORDER BY id";
- myCommand.CommandType = CommandType.Text;
- }
- </code>
- </example>
- </CommandText>
-
- <CommandTimeout>
- <summary>
- Gets or sets the wait time before terminating the attempt to execute a command
- and generating an error.
- </summary>
- <value>
- The time (in seconds) to wait for the command to execute. The default is 30
- seconds.
- </value>
- <remarks>
- CommandTimeout is dependent on the ability of MySQL to cancel an executing query.
- Because of this, CommandTimeout is only supported when connected to MySQL
- version 5.0.0 or higher.
- </remarks>
- </CommandTimeout>
-
- <CommandType>
- <summary>
- Gets or sets a value indicating how the <see cref="CommandText"/> property is to be interpreted.
- </summary>
- <value>
- One of the <see cref="System.Data.CommandType"/> values. The default is <B>Text</B>.
- </value>
- <remarks>
- <para>
- When you set the <B>CommandType</B> property to <B>StoredProcedure</B>, you
- should set the <see cref="CommandText"/> property to the name of the stored
- procedure. The command executes this stored procedure when you call one of the
- Execute methods.
- </para>
- </remarks>
- <example>
- The following example creates a <see cref="MySqlCommand"/> and sets some of its properties.
- <code lang="vbnet">
- Public Sub CreateMySqlCommand()
- Dim myCommand As New MySqlCommand()
- myCommand.CommandType = CommandType.Text
- End Sub
- </code>
- <code lang="C#">
- public void CreateMySqlCommand()
- {
- MySqlCommand myCommand = new MySqlCommand();
- myCommand.CommandType = CommandType.Text;
- }
- </code>
- </example>
- </CommandType>
-
-
-
-
-
- <Connection>
- <summary>
- Gets or sets the <see cref="MySqlConnection"/> used by this instance of the
- <see cref="MySqlCommand"/>.
- </summary>
- <value>
- The connection to a data source. The default value is a null reference
- (<B>Nothing</B> in Visual Basic).
- </value>
- <remarks>
- <para>
- If you set <B>Connection</B> while a transaction is in progress and the
- <see cref="Transaction"/> property is not null, an <see cref="InvalidOperationException"/>
- is generated. If the <B>Transaction</B> property is not null and the transaction
- has already been committed or rolled back, <B>Transaction</B> is set to
- null.
- </para>
- </remarks>
- <example>
- The following example creates a <see cref="MySqlCommand"/> and sets some of its properties.
- <code lang="vbnet">
- Public Sub CreateMySqlCommand()
- Dim mySelectQuery As String = "SELECT * FROM mytable ORDER BY id"
- Dim myConnectString As String = "Persist Security Info=False;database=test;server=myServer"
- Dim myCommand As New MySqlCommand(mySelectQuery)
- myCommand.Connection = New MySqlConnection(myConnectString)
- myCommand.CommandType = CommandType.Text
- End Sub
- </code>
- <code lang="C#">
- public void CreateMySqlCommand()
- {
- string mySelectQuery = "SELECT * FROM mytable ORDER BY id";
- string myConnectString = "Persist Security Info=False;database=test;server=myServer";
- MySqlCommand myCommand = new MySqlCommand(mySelectQuery);
- myCommand.Connection = new MySqlConnection(myConnectString);
- myCommand.CommandType = CommandType.Text;
- }
- </code>
- </example>
- </Connection>
-
- <IsPrepared>
- </IsPrepared>
-
- <LastInsertedId>
- <summary>Provides the id of the last inserted row.</summary>
- <value>
- Id of the last inserted row. -1 if none exists.
- </value>
- <remarks>
- An important point to remember is that this property can be used
- in batch SQL scenarios but it's important to remember that it will
- only reflect the insert id from the last insert statement in the batch.
-
- This property can also be used when the batch includes select statements
- and ExecuteReader is used. This property can be consulted during result set
- processing.
- </remarks>
- </LastInsertedId>
-
- <Parameters>
- <summary>
- Get the <see cref="MySqlParameterCollection"/>
- </summary>
- <value>
- The parameters of the SQL statement or stored procedure. The default is
- an empty collection.
- </value>
- <remarks>
- Connector/Net does not support unnamed parameters. Every parameter added to the collection must
- have an associated name.
- </remarks>
- <example>
- The following example creates a <see cref="MySqlCommand"/> and displays its parameters.
- To accomplish this, the method is passed a <see cref="MySqlConnection"/>, a query string
- that is a SQL SELECT statement, and an array of <see cref="MySqlParameter"/> objects.
- <code lang="vbnet">
- Public Sub CreateMySqlCommand(myConnection As MySqlConnection, _
- mySelectQuery As String, myParamArray() As MySqlParameter)
- Dim myCommand As New MySqlCommand(mySelectQuery, myConnection)
- myCommand.CommandText = "SELECT id, name FROM mytable WHERE age=@age"
- myCommand.UpdatedRowSource = UpdateRowSource.Both
- myCommand.Parameters.Add(myParamArray)
- Dim j As Integer
- For j = 0 To myCommand.Parameters.Count - 1
- myCommand.Parameters.Add(myParamArray(j))
- Next j
- Dim myMessage As String = ""
- Dim i As Integer
- For i = 0 To myCommand.Parameters.Count - 1
- myMessage += myCommand.Parameters(i).ToString() & ControlChars.Cr
- Next i
- Console.WriteLine(myMessage)
- End Sub
- </code>
- <code lang="C#">
- public void CreateMySqlCommand(MySqlConnection myConnection, string mySelectQuery,
- MySqlParameter[] myParamArray)
- {
- MySqlCommand myCommand = new MySqlCommand(mySelectQuery, myConnection);
- myCommand.CommandText = "SELECT id, name FROM mytable WHERE age=@age";
- myCommand.Parameters.Add(myParamArray);
- for (int j=0; j<myParamArray.Length; j++)
- {
- myCommand.Parameters.Add(myParamArray[j]) ;
- }
- string myMessage = "";
- for (int i = 0; i < myCommand.Parameters.Count; i++)
- {
- myMessage += myCommand.Parameters[i].ToString() + "\n";
- }
- MessageBox.Show(myMessage);
- }
- </code>
- </example>
- </Parameters>
-
- <Transaction>
- <summary>
- Gets or sets the <see cref="MySqlTransaction"/> within which the <see cref="MySqlCommand"/> executes.
- </summary>
- <value>
- The <see cref="MySqlTransaction"/>. The default value is a null reference (<B>Nothing</B> in Visual Basic).
- </value>
- <remarks>
- You cannot set the <B>Transaction</B> property if it is already set to a
- specific value, and the command is in the process of executing. If you set the
- transaction property to a <see cref="MySqlTransaction"/> object that is not connected
- to the same <see cref="MySqlConnection"/> as the <see cref="MySqlCommand"/> object,
- an exception will be thrown the next time you attempt to execute a statement.
- </remarks>
- </Transaction>
-
- <UpdatedRowSource>
- <summary>
- Gets or sets how command results are applied to the <see cref="DataRow"/>
- when used by the <see cref="System.Data.Common.DbDataAdapter.Update"/> method
- of the <see cref="System.Data.Common.DbDataAdapter"/>.
- </summary>
- <value>
- One of the <see cref="UpdateRowSource"/> values.
- </value>
- <remarks>
- <para>
- The default <see cref="System.Data.UpdateRowSource"/> value is
- <B>Both</B> unless the command is automatically generated (as in the case of the
- <see cref="MySqlCommandBuilder"/>), in which case the default is <B>None</B>.
- </para>
- </remarks>
- </UpdatedRowSource>
-
- </docs>
|