将文本框文本转换为整数

时间:2010-08-23 15:09:40

标签: c# sql-server stored-procedures type-conversion

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

Convert.ToInt32(this.txtboxname.Text)

非常感谢任何帮助。感谢。

5 个答案:

答案 0 :(得分:13)

建议在发送到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事件探查器以检查正在发送/执行的SQL语句。

答案 1 :(得分:5)

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

int i = Convert.ToInt32(txtMyTextBox.Text);

OR

int i = int.Parse(txtMyTextBox.Text);

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

答案 2 :(得分:1)

示例:

int x = Convert.ToInt32(this.txtboxname.Text) + 1 //You dont need the "this"
txtboxname.Text = x.ToString();

“x.ToString”将整数转换成字符串,以便在文本框中显示。

结果:

  1. 您将号码放在文本框中
  2. 您点击按钮或运行该功能的东西。
  3. 您在文本框中看到的号码比您在一个号码中的号码要大。
  4. :)

答案 3 :(得分:0)

如果您的SQL数据库允许该字段的Null值,请尝试使用int? value

if (this.txtboxname.Text == "" || this.txtboxname.text == null)
     value = null;
else
     value = Convert.ToInt32(this.txtboxname.Text);

注意null值的Convert.ToInt32返回0!

Convert.ToInt32(null) returns 0

答案 4 :(得分:0)

int num = int.Parse(textBox.Text);

尝试一下。对我有用