sql >> Databáze >  >> RDS >> Sqlserver

Zadaná chyba přetypování není platná pomocí jazyka C#

cmd1.ExecuteScalar() nevrací celé číslo v rámečku. Přiřaďte jej k objektu a podívejte se na něj v debuggeru, abyste viděli, co to skutečně je.

Hádám, že to bude vracet desetinné nebo dvojité a vy musíte udělat:

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

Nebo:

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

[UPRAVIT v odpovědi na otázku v komentářích níže]

Chcete-li zachovat desetinnou hodnotu, postupujte takto:

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

Pokud byste potřebovali, mohli byste desetinnou čárku přehodit na dvojnásobek:

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


  1. generovat dny z období

  2. Server MySQL odešel s Ruby on Rails

  3. Kam umístit závislost c3p0 v kontejneru Tomcat

  4. Seskupit podle max(času) mysql