The problem is with your sql
cmd.CommandText = "INSERT INTO Itens (Price) " + "VALUES ('@Num')";
Change it to
cmd.CommandText = "INSERT INTO Itens (Price) " +
"VALUES (@Num)";
I removed the single quotes surround the parameter which were forcing the value to be a varchar.
Parameterised queries take care of the single quotes when you add varchar values so you don't need them in your base sql string then either