Před odesláním dolů na SQL Server to navrhněte ve svém kódu na pozadí.
int userVal = int.Parse(txtboxname.Text);
Možná se pokuste analyzovat a případně o tom informovat uživatele.
int? userVal;
if (int.TryParse(txtboxname.Text, out userVal)
{
DoSomething(userVal.Value);
}
else
{ MessageBox.Show("Hey, we need an int over here."); }
Výjimka, kterou si všimnete, znamená, že nezahrnujete hodnotu do volání uloženého proc. Zkuste ve svém kódu nastavit zarážku ladicího programu v době, kdy voláte dolů do kódu, který vytváří volání SQL Server.
Ujistěte se, že parametr skutečně připojujete k příkazu SqlCommand.
using (SqlConnection conn = new SqlConnection(connString))
{
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.Parameters.Add("@ParamName", SqlDbType.Int);
cmd.Parameters["@ParamName"].Value = newName;
conn.Open();
string someReturn = (string)cmd.ExecuteScalar();
}
Možná spusťte SQL Profiler ve vaší databázi, abyste zkontrolovali odesílání/provádění SQL příkazu.