Creating a SqlCommand Object

Creating 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:

 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 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.

Creating 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.




Mastering C# Database Programming
Mastering the SAP Business Information Warehouse: Leveraging the Business Intelligence Capabilities of SAP NetWeaver
ISBN: 0764596373
EAN: 2147483647
Year: 2003
Pages: 181

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net