Creating aSqlCommandObject
There are two ways you can create aSqlCommand object:
• Use one of the SqlCommand constructors.
• Call the CreateCommand() method of a SqlConnection object.
You'll see how to use both these ways to create SqlCommand objects next.
N
ote You can use the same ways shown in the following sections to create an
OleDbCommand or OdbcCommand object.
Creating aSqlCommandObject Using a Constructor
The SqlCommand constructors are as follows:
SqlCommand()
SqlCommand(string commandText)
SqlCommand(string commandText, SqlConnection mySqlConnection)
SqlCommand(string commandText, SqlConnection mySqlConnection, SqlTransaction
mySqlTransaction)
where
commandText contains your SQL statement, stored procedure call, or table to retrieve
from.
mySqlConnection is your SqlConnection object.
mySqlTransaction is your SqlTransaction object.
Before you use aSqlCommandobject you first need a SqlConnection object, which is
used to communicate with a SQL Server database:
mySqlConnection.ConnectionString =
"server=localhost;database=Northwind;uid=sa;pwd=sa";
Next, you can create a new SqlCommandobject using the following statement:
SqlCommand mySqlCommand = new SqlCommand();
You then set the Connection property of mySqlCommand to mySqlConnection:
mySqlCommand.Connection = mySqlConnection;
The mySqlCommand object will then use mySqlConnection to communicate with the
database.
Now, the CommandType property of a Connection object determines the type of
command to be executed. You can use any of the values in the
System.Data.CommandType enumeration to specify the CommandType property. Table
8.3 shows the CommandType enumeration values.
Table 8.3: CommandType ENUMERATION VALUES
VALUE DESCRIPTION
Text Indicates the command is a SQL statement. Text is the default.
StoredProcedure Indicates the command is a stored procedure call.
TableDirect Indicates the name of a table, for which all rows and columns are to be
retrieved. Note: SqlCommand objects don't support TableDirect. You
have to use an object of one of the other Command classes instead.
You'll see how to use all three of these command types in this chapter. For now, I'll focus
on the default Text command type, which indicates the command is a SQL statement.
You set the command to be executed using the CommandText property of your
Command object. The following example sets the CommandText property of
mySqlCommand to a SELECT statement:
mySqlCommand.CommandText =
"SELECT TOP 10 CustomerID, CompanyName, ContactName, Address " +
"FROM Customers " +
"ORDER BY CustomerID";
You can also pass the command and the Connection object to the constructor in one step
when creatinga Command object. For example:
SqlCommand mySqlCommand = new SqlCommand(
"SELECT TOP 5 CustomerID, CompanyName, ContactName, Address " +
"FROM Customers " +
"ORDER BY CustomerID",
mySqlConnection);
In the next section
, you'll learn how to create aSqlCommandobject using the
CreateCommand() method of a SqlConnection object.
Creating aSqlCommandObject Using the CreateCommand() Method
Rather than creating aSqlCommandobject using the constructors, you can use the
CreateCommand() method of a SqlConnection object. The CreateCommand() method
returns a new SqlCommand object. For example:
SqlCommand mySqlCommand = mySqlConnection.CreateCommand();
The mySqlCommand object will use mySqlConnection to communicate with the
database.
.
Creating a SqlCommand Object
There are two ways you can create a SqlCommand object:
• Use one of the SqlCommand constructors.
• Call the CreateCommand(). create an
OleDbCommand or OdbcCommand object.
Creating a SqlCommand Object Using a Constructor
The SqlCommand constructors are as follows:
SqlCommand( )