下面是okButton_Click函数,我试图在其中添加多个按钮。我遇到错误
输入字符串的格式不正确
我已经阅读了有关类似问题的其他解决方案,但是仍然无法修复下面的代码。任何帮助将不胜感激。
忘记了前面提到的两个按钮都可以单独使用。意思是,如果我评论第一个按钮,则第二个按钮起作用,反之亦然。
using (SqlCommand com = new SqlCommand("updateStudent", connection))
{
com.CommandType = CommandType.StoredProcedure;
com.Parameters.AddWithValue("@studentNum", studentNum.Text);
com.Parameters.Add("@studentName", SqlDbType.NVarChar).Value = studentName.Text;
foreach (ListItem item in lstCourse.Items)
{
if (item.Selected)
{
com.Parameters.Add("@courses", SqlDbType.NVarChar).Value = " " + item.Text + " ";
}
}
com.ExecuteNonQuery();
com.Parameters.Clear();
}
}
答案 0 :(得分:2)
所以这行给你错误。
TriangleProperties pythagorasTheorem = new TriangleProperties(
int.Parse(heightTextBoxforPyT.Text),
int.Parse(baseTextBoxforPyT.Text),
0);
看看int.Parse()
方法documentation。
在此方法可能会生成的例外情况下:
FormatException :格式不正确。
因此,任一文本框中的实际文本都不是有效的整数。即使结尾处有空格,例如space
或tab
,也仍然无法使用,并且会出现此错误。
您应该使用int.Parse()
,which will check if the conversion is possible而不是int.TryParse()
,如果是,将返回true
,如果不可能,将返回false
。如果转换有效,则out
参数将包含转换后的值。
因此您的代码应类似于:
if(int.TryParse(heightTextBoxforPyT.Text, out int heightVal) &&
int.TryParse(baseTextBoxforPyT.Text, out int baseVal))
{
TriangleProperties pythagorasTheorem = new TriangleProperties(heightVal, baseVal, 0);
}
else
{
// Perhaps output an error message
}