SqlCommand.Parameters Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém o SqlParameterCollection .
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.