Sarankan lakukan ini di belakang kode Anda sebelum mengirim ke SQL Server.
int userVal = int.Parse(txtboxname.Text);
Mungkin mencoba mengurai dan secara opsional memberi tahu pengguna.
int? userVal;
if (int.TryParse(txtboxname.Text, out userVal)
{
DoSomething(userVal.Value);
}
else
{ MessageBox.Show("Hey, we need an int over here."); }
Pengecualian yang Anda catat berarti Anda tidak memasukkan nilai dalam panggilan ke proc yang disimpan. Coba atur breakpoint debugger dalam kode Anda pada saat Anda memanggil kode yang membuat panggilan ke SQL Server.
Pastikan Anda benar-benar melampirkan parameter ke 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();
}
Mungkin jalankan SQL Profiler di database Anda untuk memeriksa pernyataan SQL yang dikirim/dieksekusi.