sql >> Database >  >> RDS >> Sqlserver

Converteer tekstvak naar geheel getal

Stel voor om dit in je code-behind te doen voordat je het naar SQL Server stuurt.

 int userVal = int.Parse(txtboxname.Text);

Probeer het misschien te ontleden en laat het de gebruiker eventueel weten.

int? userVal;
if (int.TryParse(txtboxname.Text, out userVal) 
{
  DoSomething(userVal.Value);
}
else
{ MessageBox.Show("Hey, we need an int over here.");   }

De uitzondering die u opmerkt, betekent dat u de waarde niet opneemt in de aanroep naar de opgeslagen procedure. Probeer een debugger-onderbrekingspunt in uw code in te stellen op het moment dat u de code aanroept die de aanroep naar SQL Server bouwt.

Zorg ervoor dat u de parameter daadwerkelijk aan de SqlCommand koppelt.

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();        
}

Start misschien SQL Profiler op uw database om de SQL-instructie te inspecteren die wordt verzonden/uitgevoerd.



  1. Actieve sessies en status van SQL Server

  2. Tips voor het migreren van MySQL-replicatie naar MySQL Galera Cluster 4.0

  3. Hoe dubbelzinnige kolomnamen op te lossen bij het ophalen van resultaten?

  4. Efficiënte ISNUMERIC() vervangingen op SQL Server?