Предложите сделать это в своем коде перед отправкой на 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.