Compartilhar via


SqlCommand.Parameters Propriedade

Definição

public:
 property Microsoft::Data::SqlClient::SqlParameterCollection ^ Parameters { Microsoft::Data::SqlClient::SqlParameterCollection ^ get(); };
public Microsoft.Data.SqlClient.SqlParameterCollection Parameters { get; }
member this.Parameters : Microsoft.Data.SqlClient.SqlParameterCollection
Public ReadOnly Property Parameters As SqlParameterCollection

Valor da propriedade

Os parâmetros da instrução Transact-SQL ou do procedimento armazenado. O padrão é uma coleção vazia.

Exemplos

O exemplo a seguir demonstra como criar um SqlCommand e adicionar parâmetros ao SqlParameterCollection.

using System;
using System.Data;
using Microsoft.Data.SqlClient;


class Program
{
    static void Main()
    {
        string connectionString = GetConnectionString();
        string demo = @"<StoreSurvey xmlns=""http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/StoreSurvey""><AnnualSales>1500000</AnnualSales><AnnualRevenue>150000</AnnualRevenue><BankName>Primary International</BankName><BusinessType>OS</BusinessType><YearOpened>1974</YearOpened><Specialty>Road</Specialty><SquareFeet>38000</SquareFeet><Brands>3</Brands><Internet>DSL</Internet><NumberEmployees>40</NumberEmployees></StoreSurvey>";
        Int32 id = 3;
        UpdateDemographics(id, demo, connectionString);
        Console.ReadLine();
    }
    private static void UpdateDemographics(Int32 customerID,
        string demoXml, string connectionString)
    {
        // Update the demographics for a store, which is stored 
        // in an xml column. 
        string commandText = "UPDATE Sales.Store SET Demographics = @demographics "
            + "WHERE CustomerID = @ID;";

        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            SqlCommand command = new SqlCommand(commandText, connection);
            command.Parameters.Add("@ID", SqlDbType.Int);
            command.Parameters["@ID"].Value = customerID;

            // Use AddWithValue to assign Demographics.
            // SQL Server will implicitly convert strings into XML.
            command.Parameters.AddWithValue("@demographics", demoXml);

            try
            {
                connection.Open();
                Int32 rowsAffected = command.ExecuteNonQuery();
                Console.WriteLine("RowsAffected: {0}", rowsAffected);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
    }

Comentários

O Provedor de Dados do Microsoft .NET Framework para SQL Server não dá suporte ao espaço reservado de ponto de interrogação (?) para passar parâmetros para uma Instrução SQL ou um procedimento armazenado chamado por um comando de CommandType.Text. Nesse caso, os parâmetros nomeados devem ser usados. Por exemplo:

SELECT * FROM Customers WHERE CustomerID = @CustomerID

Observação

Se os parâmetros na coleção não corresponderem aos requisitos da consulta a ser executada, um erro poderá resultar.

Para obter mais informações, consulte Configurando parâmetros.

Aplica-se a