SqlParameterCollection.AddWithValue(String, Object) Метод

Определение

Добавляет значение в конец коллекции SqlParameterCollection.

public:
 Microsoft::Data::SqlClient::SqlParameter ^ AddWithValue(System::String ^ parameterName, System::Object ^ value);
public Microsoft.Data.SqlClient.SqlParameter AddWithValue (string parameterName, object value);
member this.AddWithValue : string * obj -> Microsoft.Data.SqlClient.SqlParameter
Public Function AddWithValue (parameterName As String, value As Object) As SqlParameter

Параметры

parameterName
String

Имя параметра.

value
Object

Добавляемое значение. Используйте Value вместо null для указания значения null.

Возвращаемое значение

Объект SqlParameter.

Примеры

В следующем примере показано использование метода AddWithValue.

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);
            }
        }
    }

Комментарии

AddWithValue заменяет метод , SqlParameterCollection.Add который принимает String и Object. Перегрузка Add объекта , принимающего строку и объект, была признана нерекомендуемой из-за возможной неоднозначности с SqlParameterCollection.Add перегрузкой, принимающей StringSqlDbType и значение перечисления , где передача целого числа со строкой может быть интерпретирована как значение параметра или соответствующее SqlDbType значение. Используйте AddWithValue каждый раз, когда нужно добавить параметр, указав его имя и значение.

Для SqlDbTypeXml значений перечисления можно использовать строку, XML-значение, экземпляр производного XmlReader типа или SqlXml объект .

Применяется к