将文本框文本转换为整数

zac*_*ack 5 c# sql-server stored-procedures type-conversion

我需要将我的xaml代码的文本框中的文本转换为C#中的整数值.我正在使用.NET 4.0和Visual Studio 2010.有没有办法在xaml标签本身或者我需要在C sharp中编写转换器.我尝试了以下但不工作:

Convert.ToInt32(this.txtboxname.Text)
Run Code Online (Sandbox Code Playgroud)

任何帮助深表感谢.谢谢.

p.c*_*ell 15

建议在发送到SQL Server之前在代码隐藏中执行此操作.

 int userVal = int.Parse(txtboxname.Text);
Run Code Online (Sandbox Code Playgroud)

也许尝试解析并选择让用户知道.

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

您注意到的异常意味着您不在调用存储过程中包含该值.尝试在调用构建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();        
}
Run Code Online (Sandbox Code Playgroud)

也许在您的数据库上启动SQL事件探查器以检查正在发送/执行的SQL语句.


Dav*_*sky 7

您不需要编写转换器,只需在处理程序/代码隐藏中执行此操作:

int i = Convert.ToInt32(txtMyTextBox.Text);
Run Code Online (Sandbox Code Playgroud)

要么

int i = int.Parse(txtMyTextBox.Text);
Run Code Online (Sandbox Code Playgroud)

Text文本框的属性是一种String类型,因此您必须在代码中执行转换.