SQL Serverに送信する前に、コードビハインドでこれを行うことをお勧めします。
int userVal = int.Parse(txtboxname.Text);
おそらく、解析して、オプションでユーザーに知らせてみてください。
int? userVal;
if (int.TryParse(txtboxname.Text, out userVal)
{
DoSomething(userVal.Value);
}
else
{ MessageBox.Show("Hey, we need an int over here."); }
注意する例外は、ストアドプロシージャの呼び出しに値が含まれていないことを意味します。 SQL Serverへの呼び出しを構築するコードを呼び出すときに、コードにデバッガーブレークポイントを設定してみてください。
パラメータを実際に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();
}
おそらく、データベースでSQL Profilerを起動して、送信/実行されているSQLステートメントを検査します。