Added Bearer oAuth Authentication:
* Create User with roles * Login * Authorization without roles
This commit is contained in:
@@ -0,0 +1,934 @@
|
||||
<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>
|
||||
Reference in New Issue
Block a user