visual valid returns name example comment c# sqlparameters

c# - valid - SqlCommand Parámetros confusión de tamaño



returns c# (4)

Tengo la siguiente línea de código:

sqlcommand.Parameters.Add("@LinkID", SqlDbType.Int, 4).Value = linkID;

Pero, estoy un poco confundido sobre el uso del size . ¿Esto dice que sus 4 bytes de tamaño? ¿O una longitud de 4, por lo que 1234 es aceptable pero 12345 es demasiado grande?


El tamaño es de 4 bytes para un int.

Vea la clase DbParameter en msd n para más información. Es relevante porque SqlCeParameter implementa DbParameter

La siguiente sección es relevante:

La propiedad Tamaño se utiliza para tipos binarios y de cadena.

Para los tipos de datos sin cadena y los datos de cadena ANSI, la propiedad Tamaño se refiere al número de bytes. Para los datos de cadena de Unicode, Tamaño se refiere al número de caracteres. El recuento de cadenas no incluye el carácter de terminación.

Para tipos de datos de longitud variable, Tamaño describe la cantidad máxima de datos para transmitir al servidor. Por ejemplo, para un valor de cadena Unicode, el tamaño podría usarse para limitar la cantidad de datos enviados al servidor a los primeros cien caracteres.

Vea este https://gist.github.com/1932766 para la implementación de la propiedad Size.


Es de 4 bytes, 32 bits. Es un entero de 32 bits.


Para los tipos con tamaño de arreglos, debe omitir este argumento, simplemente:

sqlcommand.Parameters.Add("@LinkID", SqlDbType.Int).Value = linkID;

El argumento de tamaño solo es relevante para los parámetros con un tipo que puede tener un tamaño variable como varchar , nvarchar , etc.


Si vas por int, entonces creo que no importa el tamaño.

entonces tu código será

sqlcommand.Parameters.Add("@LinkID", SqlDbType.Int).Value = linkID;

en varchar, navarchar, donde el tamaño es mayor, debe especificar el tamaño en su código .net, es decir, en el parámetro