Share via


SqlCommand.Connection Property

Definition

Gets or sets the SqlConnection used by this instance of the SqlCommand .

public:
 property Microsoft::Data::SqlClient::SqlConnection ^ Connection { Microsoft::Data::SqlClient::SqlConnection ^ get(); void set(Microsoft::Data::SqlClient::SqlConnection ^ value); };
public Microsoft.Data.SqlClient.SqlConnection Connection { get; set; }
member this.Connection : Microsoft.Data.SqlClient.SqlConnection with get, set
Public Property Connection As SqlConnection

Property Value

The connection to a data source. The default value is null .

Exceptions

The Connection property was changed while the command was enlisted in a transaction.

Examples

The following example creates a SqlCommand and sets some of its properties.

// <Snippet1>
using System;
using System.Data;
using Microsoft.Data.SqlClient;


namespace SqlCommandCS
{
    class Program
    {
        static void Main()
        {
            string str = "Data Source=(local);Initial Catalog=Northwind;"
                + "Integrated Security=SSPI";
            string qs = "SELECT OrderID, CustomerID FROM dbo.Orders;";
            CreateCommand(qs, str);
        }

        private static void CreateCommand(string queryString,
            string connectionString)
        {
            using (SqlConnection connection = new SqlConnection(
                       connectionString))
            {
                SqlCommand command = new SqlCommand();
                command.Connection = connection;
                command.CommandTimeout = 15;
                command.CommandType = CommandType.Text;
                command.CommandText = queryString;

                connection.Open();
                SqlDataReader reader = command.ExecuteReader();
                while (reader.Read())
                {
                    Console.WriteLine(String.Format("{0}, {1}",
                        reader[0], reader[1]));
                }
            }
        }
        // </Snippet1>
    }
}

Remarks

If the command is enlisted in an existing transaction, and the connection is changed, trying to execute the command will throw an InvalidOperationException.

If the Transaction property is not null and the transaction has already been committed or rolled back, Transaction is set to null.

Applies to