smallint - tinyint sql in c#
¿Cuál es el equivalente de bigint en C#? (8)
¿Qué se supone que debo usar al manejar un valor en C #, que es bigint para una base de datos SQL Server?
Acabo de tener un script que devolvió la clave principal de un inserto y usé un
SELECT @@identity
en mi clave principal bigint, y obtengo un error de conversión usando long - esa fue la razón por la que comencé esta búsqueda. La respuesta correcta al menos en mi caso es que el tipo devuelto por esa selección es NUMÉRICO, que equivale a un tipo de decimal. Usar un largo provocará una excepción de lanzamiento.
Esta es una razón para verificar sus respuestas en más de una búsqueda de Google (¡o incluso en !).
Para citar a un administrador de base de datos que me ayudó:
... BigInt no es lo mismo que INT64 sin importar cuánto se parezcan. Parte de la razón es que SQL convertirá con frecuencia Int / BigInt a Numérico como parte del procesamiento normal. Entonces, cuando va a OLE o .NET, la conversión requerida es NUMERIC a INT.
A menudo no lo notamos ya que el valor impreso se ve igual ".
Creo que el equivalente es Int64
Eso corresponde al entero largo (o Int64 ), un entero de 64 bits.
Aunque si el número de la base de datos es lo suficientemente pequeño y accidentalmente usa un Int32, etc., estará bien. Pero el Int64 definitivamente lo mantendrá.
¿Y el error que obtienes si usas algo más pequeño y se necesita el tamaño completo? ¡Un desbordamiento de pila! ¡Hurra!
Estaba manejando un tipo de datos bigint para mostrar en un DataGridView y lo hice así
something = (int)(Int64)data_reader[0];
Puede usar el tipo long
o Int64
Use un tipo de datos largo.
Int64
asigna directamente a BigInt
.
int en sql mapas directamente a int32 también conocen como un tipo primitivo, es decir, int en C #, mientras que
bigint en sql mapas directamente a int64 también conocen como un tipo primitivo es decir flotan en C #
Se ha definido here una conversión explícita si se define bigteger a entero