Creating a SqlCommand Object There are two ways you can create a SqlCommand object: • Use one of the SqlCommand constructors.. Creating a SqlCommand Object Using a Constructor The SqlC
Trang 1Creating a SqlCommand Object
There are two ways you can create a SqlCommand 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
Note You can use the same ways shown in the following sections to create an
OleDbCommand or OdbcCommand object
Creating a SqlCommand Object 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 a SqlCommand object 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 SqlCommand object using the following statement:
SqlCommand mySqlCommand = new SqlCommand();
You then set the Connection property of mySqlCommand to mySqlConnection:
Trang 2mySqlCommand.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
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 creating a 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 a SqlCommand object using the
CreateCommand() method of a SqlConnection object
Trang 3Creating a SqlCommand Object Using the CreateCommand() Method
Rather than creating a SqlCommand object 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