Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Преобразувайте текста на текстовото поле в цяло число

Предложете да направите това във вашия код-зад, преди да изпратите до 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 израза, който се изпраща/изпълнява.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. DATEDIFF_BIG() Примери в SQL Server

  2. Агрегация на низове през годините в SQL Server

  3. Съответствие с GDPR и вашият SQL сървър

  4. Уникалният ключ на Sql Server също ли е индекс?

  5. Функция за сигурност в облака Spotlight - Премахване на литерали