OdbcParameter.Size Property


Gets or sets the maximum size of the data within the column.

 virtual property int Size { int get(); void set(int value); };
 property int Size { int get(); void set(int value); };
public override int Size { get; set; }
public int Size { get; set; }
member this.Size : int with get, set
Public Overrides Property Size As Integer
Public Property Size As Integer

Property Value


The maximum size of the data within the column. The default value is inferred from the parameter value.



The following example creates an OdbcParameter and sets some of its properties.

Public Sub CreateOdbcParameter()  
    Dim myValue As String = "12 foot scarf - multiple colors, one previous owner"  
    Dim parameter As New OdbcParameter("Description", OdbcType.VarChar)  
    parameter.Direction = ParameterDirection.Output  
    parameter.Size = myValue.Length  
    parameter.Value = myValue  
End Sub   
public void CreateOdbcParameter()   
    string myValue = "12 foot scarf - multiple colors, one previous owner";  
    OdbcParameter parameter = new OdbcParameter("Description", OdbcType.VarChar);  
    parameter.Direction = ParameterDirection.Output;  
    parameter.Size = myValue.Length;  
    parameter.Value = myValue;  


The Size property is used for binary and string types.

For nonstring data types and ANSI string data, the Size property refers to the number of bytes. For Unicode string data, Size refers to the number of characters. The count for strings does not include the terminating character.

For variable-length data types, Size describes the maximum amount of data to transmit to the server. For example, for a Unicode string value, Size could be used to limit the amount of data sent to the server to the first one hundred characters.

For bidirectional and output parameters, and return values, you must set the value of Size. This is not required for input parameters, and if not explicitly set, the value of is inferred from the actual size of the specified parameter when a parameterized statement is executed.

The DbType, OdbcType, and Size properties of a parameter can be inferred by setting Value. Therefore, you are not required to specify them. However, they are not exposed in OdbcParameter property settings. For example, if the size of the parameter has been inferred, Size does not contain inferred value after statement execution.


For an OdbcParameter with a Direction of ParameterDirection.Output, ParameterDirection.InputOutput, or ParameterDirection.ReturnValue, an exception is thrown when the command is executed if the size of the value returned by the data source exceeds the specified Size of the OdbcParameter.

For fixed-length data types, the value of Size is ignored. It can be retrieved for informational purposes, and returns the maximum amount of bytes the provider uses when transmitting the value of the parameter to the server.

Applies to

See also