SqlParameterCollection.Add Method   
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Adds a SqlParameter to the SqlParameterCollection.
Overloads
| Add(SqlParameter) | Adds the specified SqlParameter object to the SqlParameterCollection. | 
| Add(Object) | Adds the specified SqlParameter object to the SqlParameterCollection. | 
| Add(String, SqlDbType) | Adds a SqlParameter to the SqlParameterCollection given the parameter name and the data type. | 
| Add(String, Object) | 
		Obsolete.
	 Adds the specified SqlParameter object to the SqlParameterCollection. | 
| Add(String, SqlDbType, Int32) | Adds a SqlParameter to the SqlParameterCollection, given the specified parameter name, SqlDbType and size. | 
| Add(String, SqlDbType, Int32, String) | Adds a SqlParameter to the SqlParameterCollection with the parameter name, the data type, and the column length. | 
Add(SqlParameter)
Adds the specified SqlParameter object to the SqlParameterCollection.
public:
 System::Data::SqlClient::SqlParameter ^ Add(System::Data::SqlClient::SqlParameter ^ value);public System.Data.SqlClient.SqlParameter Add(System.Data.SqlClient.SqlParameter value);override this.Add : System.Data.SqlClient.SqlParameter -> System.Data.SqlClient.SqlParametermember this.Add : System.Data.SqlClient.SqlParameter -> System.Data.SqlClient.SqlParameterPublic Function Add (value As SqlParameter) As SqlParameterParameters
- value
- SqlParameter
The SqlParameter to add to the collection.
Returns
A new SqlParameter object.
Exceptions
The SqlParameter specified in the value parameter is already added to this or another SqlParameterCollection.
The parameter passed was not a SqlParameter.
The value parameter is null.
Examples
public void AddSqlParameter(SqlCommand command)
{
    command.Parameters.Add(new SqlParameter("Description", "Beverages"));
}
Public Sub AddSqlParameter(command As SqlCommand) 
  command.Parameters.Add(New SqlParameter("Description", "Beverages"))
End Sub
See also
- Commands and Parameters (ADO.NET)
- DataAdapter Parameters (ADO.NET)
- Using the .NET Framework Data Provider for SQL Server
- ADO.NET Overview
Applies to
Add(Object)
Adds the specified SqlParameter object to the SqlParameterCollection.
public:
 override int Add(System::Object ^ value);public:
 virtual int Add(System::Object ^ value);public override int Add(object value);public int Add(object value);override this.Add : obj -> intabstract member Add : obj -> int
override this.Add : obj -> intPublic Overrides Function Add (value As Object) As IntegerPublic Function Add (value As Object) As IntegerParameters
Returns
The index of the new SqlParameter object.
Implements
Examples
The following example demonstrates the implementation of the IList interface to create a simple, fixed-size list. This code is part of a larger example for the IList interface.
class SimpleList : IList
{
    private object[] _contents = new object[8];
    private int _count;
    public SimpleList()
    {
        _count = 0;
    }
    // IList Members
    public int Add(object value)
    {
        if (_count < _contents.Length)
        {
            _contents[_count] = value;
            _count++;
            return (_count - 1);
        }
        return -1;
    }
    public void Clear()
    {
        _count = 0;
    }
    public bool Contains(object value)
    {
        for (int i = 0; i < Count; i++)
        {
            if (_contents[i] == value)
            {
                return true;
            }
        }
        return false;
    }
    public int IndexOf(object value)
    {
        for (int i = 0; i < Count; i++)
        {
            if (_contents[i] == value)
            {
                return i;
            }
        }
        return -1;
    }
    public void Insert(int index, object value)
    {
        if ((_count + 1 <= _contents.Length) && (index < Count) && (index >= 0))
        {
            _count++;
            for (int i = Count - 1; i > index; i--)
            {
                _contents[i] = _contents[i - 1];
            }
            _contents[index] = value;
        }
    }
    public bool IsFixedSize
    {
        get
        {
            return true;
        }
    }
    public bool IsReadOnly
    {
        get
        {
            return false;
        }
    }
    public void Remove(object value)
    {
        RemoveAt(IndexOf(value));
    }
    public void RemoveAt(int index)
    {
        if ((index >= 0) && (index < Count))
        {
            for (int i = index; i < Count - 1; i++)
            {
                _contents[i] = _contents[i + 1];
            }
            _count--;
        }
    }
    public object this[int index]
    {
        get
        {
            return _contents[index];
        }
        set
        {
            _contents[index] = value;
        }
    }
    // ICollection members.
    public void CopyTo(Array array, int index)
    {
        for (int i = 0; i < Count; i++)
        {
            array.SetValue(_contents[i], index++);
        }
    }
    public int Count
    {
        get
        {
            return _count;
        }
    }
    public bool IsSynchronized
    {
        get
        {
            return false;
        }
    }
    // Return the current instance since the underlying store is not
    // publicly available.
    public object SyncRoot
    {
        get
        {
            return this;
        }
    }
    // IEnumerable Members
    public IEnumerator GetEnumerator()
    {
        // Refer to the IEnumerator documentation for an example of
        // implementing an enumerator.
        throw new NotImplementedException("The method or operation is not implemented.");
    }
    public void PrintContents()
    {
        Console.WriteLine($"List has a capacity of {_contents.Length} and currently has {_count} elements.");
        Console.Write("List contents:");
        for (int i = 0; i < Count; i++)
        {
            Console.Write($" {_contents[i]}");
        }
        Console.WriteLine();
    }
}
Public Class SimpleList
    Implements IList
    Private _contents(7) As Object
    Private _count As Integer
    Public Sub New()
        _count = 0
    End Sub
    ' IList members.
    Public Function Add(ByVal value As Object) As Integer Implements IList.Add
        If _count < _contents.Length Then
            _contents(_count) = value
            _count += 1
            Return _count - 1
        End If
        Return -1
    End Function
    Public Sub Clear() Implements IList.Clear
        _count = 0
    End Sub
    Public Function Contains(ByVal value As Object) As Boolean Implements IList.Contains
        For i As Integer = 0 To Count - 1
            If _contents(i) = value Then Return True
        Next
        Return False
    End Function
    Public Function IndexOf(ByVal value As Object) As Integer Implements IList.IndexOf
        For i As Integer = 0 To Count - 1
            If _contents(i) = value Then Return i
        Next
        Return -1
    End Function
    Public Sub Insert(ByVal index As Integer, ByVal value As Object) Implements IList.Insert
        If _count + 1 <= _contents.Length AndAlso index < Count AndAlso index >= 0 Then
            _count += 1
            For i As Integer = Count - 1 To index Step -1
                _contents(i) = _contents(i - 1)
            Next
            _contents(index) = value
        End If
    End Sub
    Public ReadOnly Property IsFixedSize() As Boolean Implements IList.IsFixedSize
        Get
            Return True
        End Get
    End Property
    Public ReadOnly Property IsReadOnly() As Boolean Implements IList.IsReadOnly
        Get
            Return False
        End Get
    End Property
    Public Sub Remove(ByVal value As Object) Implements IList.Remove
        RemoveAt(IndexOf(value))
    End Sub
    Public Sub RemoveAt(ByVal index As Integer) Implements IList.RemoveAt
        if index >= 0 AndAlso index < Count Then
            for i As Integer = index To Count - 2
                _contents(i) = _contents(i + 1)
            Next
            _count -= 1
        End If
    End Sub
    Public Property Item(ByVal index As Integer) As Object Implements IList.Item
        Get
            Return _contents(index)
        End Get
        Set(ByVal value As Object)
            _contents(index) = value
        End Set
    End Property
    ' ICollection members.
    Public Sub CopyTo(ByVal array As Array, ByVal index As Integer) Implements ICollection.CopyTo
        For i As Integer = 0 To Count - 1
            array.SetValue(_contents(i), index)
            index += 1
        Next
    End Sub
    Public ReadOnly Property Count() As Integer Implements ICollection.Count
        Get
            Return _count
        End Get
    End Property
    Public ReadOnly Property IsSynchronized() As Boolean Implements ICollection.IsSynchronized
        Get
            Return False
        End Get
    End Property
    ' Return the current instance since the underlying store is not
    ' publicly available.
    Public ReadOnly Property SyncRoot() As Object Implements ICollection.SyncRoot
        Get
            Return Me
        End Get
    End Property
    ' IEnumerable members.
    Public Function GetEnumerator() As IEnumerator Implements IEnumerable.GetEnumerator
        ' Refer to the IEnumerator documentation for an example of
        ' implementing an enumerator.
        Throw New NotImplementedException("The method or operation is not implemented.")
    End Function
    Public Sub PrintContents()
        Console.WriteLine($"List has a capacity of {_contents.Length} and currently has {_count} elements.")
        Console.Write("List contents:")
        For i As Integer = 0 To Count - 1
            Console.Write($" {_contents(i)}")
        Next
        Console.WriteLine()
    End Sub
End Class
Remarks
This member is an explicit interface member implementation. It can be used only when the SqlParameterCollection instance is cast to an IList interface.
See also
- Commands and Parameters (ADO.NET)
- DataAdapter Parameters (ADO.NET)
- Using the .NET Framework Data Provider for SQL Server
- ADO.NET Overview
Applies to
Add(String, SqlDbType)
Adds a SqlParameter to the SqlParameterCollection given the parameter name and the data type.
public:
 System::Data::SqlClient::SqlParameter ^ Add(System::String ^ parameterName, System::Data::SqlDbType sqlDbType);public System.Data.SqlClient.SqlParameter Add(string parameterName, System.Data.SqlDbType sqlDbType);override this.Add : string * System.Data.SqlDbType -> System.Data.SqlClient.SqlParametermember this.Add : string * System.Data.SqlDbType -> System.Data.SqlClient.SqlParameterPublic Function Add (parameterName As String, sqlDbType As SqlDbType) As SqlParameterParameters
- parameterName
- String
The name of the parameter.
Returns
A new SqlParameter object.
Examples
public void AddSqlParameter(SqlCommand command)
{
    SqlParameter param = command.Parameters.Add(
        "@Description", SqlDbType.NVarChar);
    param.Size = 16;
    param.Value = "Beverages";
}
Public Sub AddSqlParameter(command As SqlCommand) 
  Dim param As SqlParameter = command.Parameters.Add( _
      "@Description", SqlDbType.NVarChar)
  param.Size = 16
  param.Value = "Beverages"
End Sub
See also
- Commands and Parameters (ADO.NET)
- DataAdapter Parameters (ADO.NET)
- Using the .NET Framework Data Provider for SQL Server
- ADO.NET Overview
Applies to
Add(String, Object)
Caution
Add(String parameterName, Object value) has been deprecated. Use AddWithValue(String parameterName, Object value). http://go.microsoft.com/fwlink/?linkid=14202
Adds the specified SqlParameter object to the SqlParameterCollection.
public:
 System::Data::SqlClient::SqlParameter ^ Add(System::String ^ parameterName, System::Object ^ value);public System.Data.SqlClient.SqlParameter Add(string parameterName, object value);[System.Obsolete("Add(String parameterName, Object value) has been deprecated.  Use AddWithValue(String parameterName, Object value).  http://go.microsoft.com/fwlink/?linkid=14202", false)]
public System.Data.SqlClient.SqlParameter Add(string parameterName, object value);member this.Add : string * obj -> System.Data.SqlClient.SqlParameter[<System.Obsolete("Add(String parameterName, Object value) has been deprecated.  Use AddWithValue(String parameterName, Object value).  http://go.microsoft.com/fwlink/?linkid=14202", false)>]
override this.Add : string * obj -> System.Data.SqlClient.SqlParameterPublic Function Add (parameterName As String, value As Object) As SqlParameterParameters
- parameterName
- String
The name of the SqlParameter to add to the collection.
Returns
A new SqlParameter object.
Use caution when you use this overload of the SqlParameterCollection.Add method to specify integer parameter values. Because this overload takes a value of type Object, you must convert the integral value to an Object type when the value is zero, as the following C# example demonstrates.
parameters.Add("@pname", Convert.ToInt32(0));
If you do not perform this conversion, the compiler assumes that you're trying to call the SqlParameterCollection.Add (string, SqlDbType) overload.
- Attributes
Exceptions
The SqlParameter specified in the value parameter is already added to this or another SqlParameterCollection.
The value parameter is null.
See also
Applies to
Add(String, SqlDbType, Int32)
Adds a SqlParameter to the SqlParameterCollection, given the specified parameter name, SqlDbType and size.
public:
 System::Data::SqlClient::SqlParameter ^ Add(System::String ^ parameterName, System::Data::SqlDbType sqlDbType, int size);public System.Data.SqlClient.SqlParameter Add(string parameterName, System.Data.SqlDbType sqlDbType, int size);override this.Add : string * System.Data.SqlDbType * int -> System.Data.SqlClient.SqlParametermember this.Add : string * System.Data.SqlDbType * int -> System.Data.SqlClient.SqlParameterPublic Function Add (parameterName As String, sqlDbType As SqlDbType, size As Integer) As SqlParameterParameters
- parameterName
- String
The name of the parameter.
- sqlDbType
- SqlDbType
The SqlDbType of the SqlParameter to add to the collection.
Returns
A new SqlParameter object.
Examples
public void AddSqlParameter(SqlCommand command)
{
    SqlParameter param = new SqlParameter(
        "@Description", SqlDbType.NVarChar, 16);
    param.Value = "Beverages";
    command.Parameters.Add(param);
}
Public Sub AddSqlParameter(command As SqlCommand) 
  Dim param As New SqlParameter( _
      "@Description", SqlDbType.NVarChar, 16)
  param.Value = "Beverages"
  command.Parameters.Add(param)
End Sub
Remarks
This overload is useful when you are adding a parameter of a variable-length data type such as varchar or binary.
See also
- Commands and Parameters (ADO.NET)
- DataAdapter Parameters (ADO.NET)
- Using the .NET Framework Data Provider for SQL Server
- ADO.NET Overview
Applies to
Add(String, SqlDbType, Int32, String)
Adds a SqlParameter to the SqlParameterCollection with the parameter name, the data type, and the column length.
public:
 System::Data::SqlClient::SqlParameter ^ Add(System::String ^ parameterName, System::Data::SqlDbType sqlDbType, int size, System::String ^ sourceColumn);public System.Data.SqlClient.SqlParameter Add(string parameterName, System.Data.SqlDbType sqlDbType, int size, string sourceColumn);member this.Add : string * System.Data.SqlDbType * int * string -> System.Data.SqlClient.SqlParameteroverride this.Add : string * System.Data.SqlDbType * int * string -> System.Data.SqlClient.SqlParameterPublic Function Add (parameterName As String, sqlDbType As SqlDbType, size As Integer, sourceColumn As String) As SqlParameterParameters
- parameterName
- String
The name of the parameter.
- size
- Int32
The column length.
- sourceColumn
- String
The name of the source column (SourceColumn) if this SqlParameter is used in a call to Update.
Returns
A new SqlParameter object.
Examples
public void AddSqlParameter(SqlCommand cmd)
{
  SqlParameter p1 = cmd.Parameters.Add("@Description", SqlDbType.NVarChar, 16, "Description");
}
Public Sub AddSqlParameter(cmd As SqlCommand) 
  Dim p1 As SqlParameter = cmd.Parameters.Add("@Description", SqlDbType.NVarChar, 16, "Description")
End Sub
See also
- Commands and Parameters (ADO.NET)
- DataAdapter Parameters (ADO.NET)
- Using the .NET Framework Data Provider for SQL Server
- ADO.NET Overview