sql >> Database >  >> RDS >> Sqlserver

Opgegeven cast is geen geldige fout bij gebruik van C#

cmd1.ExecuteScalar() retourneert geen geheel getal in een kader. Wijs het toe aan een object en bekijk het in de debugger om te zien wat het werkelijk is.

Ik vermoed dat het een decimaal of een dubbel zal zijn, en je moet het volgende doen:

Int32 result = (Int32)(double)cmd1.ExecuteScalar();

Of:

Int32 result = (Int32)(Decimal)cmd1.ExecuteScalar();

[BEWERKEN in antwoord op een vraag in opmerkingen hieronder]

Ga als volgt te werk om de decimale waarde te behouden:

Decimal result = (Decimal) cmd1.ExecuteScalar();

Als het nodig is, kun je het decimaalteken naar een dubbel casten:

double result = (double)(Decimal) cmd1.ExectuteScalar();


  1. Hoe maak je een drempel of limiet mysql tabel?

  2. mysql:varchar-waarde splitsen en delen invoegen

  3. Schemapatroon zoeken

  4. Postgresql-gegevenscluster verplaatsen