The next generation of the Teknik Services. Written in ASP.NET.
https://www.teknik.io/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
934 lines
33 KiB
934 lines
33 KiB
<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>
|
|
|