gpt4 book ai didi

c# - 无论我输入什么数字,我的文本框总是与 '0' 进行比较

转载 作者:行者123 更新时间:2023-11-29 18:04:53 26 4
gpt4 key购买 nike

我试图在文本框(CHWV.text)中设置一系列数字,这将能够根据我的 if else 条件更新我的数据库。我尝试在文本框中键入从 0 到 100 的值。然后使用 int.TryParse 将文本框值转换为整数。然而,无论我尝试输入什么数字,CHWTemp 总是得到 0。

代码运行完美,但在输入文本框后无法获得我想要的 CHWTemp。我不确定我错过了什么吗?

        sqlite_cmd = sqlite_conn.CreateCommand();

int CHWTemp;

int.TryParse(CHWV.Text,out CHWTemp);

try

{
sqlite_conn.Open();

if (CHWTemp >= 0 && CHWTemp <= 10)
{
sqlite_cmd.CommandText = ("UPDATE Temperature SET Temp = 25 where id=12");
sqlite_cmd.ExecuteNonQuery();
}
else if (CHWTemp >= 11 && CHWTemp <= 20)
{
sqlite_cmd.CommandText = ("UPDATE Temperature SET Temp = 24 Where id=12");
sqlite_cmd.ExecuteNonQuery();
}
else if (CHWTemp >= 21 && CHWTemp <= 40)
{
sqlite_cmd.CommandText = ("UPDATE Temperature SET Temp = 23 where id=12");
sqlite_cmd.ExecuteNonQuery();
}
else if (CHWTemp >= 41 && CHWTemp <= 60)
{
sqlite_cmd.CommandText = ("UPDATE Temperature SET Temp = 22 where id=12");
sqlite_cmd.ExecuteNonQuery();
}
else if (CHWTemp >= 61 && CHWTemp <= 80)
{
sqlite_cmd.CommandText = ("UPDATE Temperature SET Temp = 21 where id=12");
sqlite_cmd.ExecuteNonQuery();
}
else if (CHWTemp >= 81 && CHWTemp <= 100)
{
sqlite_cmd.CommandText = ("UPDATE Temperature SET Temp = 20 where id=12");
sqlite_cmd.ExecuteNonQuery();
}
sqlite_conn.Close();
}
catch ()
{
}

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

最佳答案

在使用 CHWTemp 的值之前,请检查 int.TryParse(CHWV.Text,out CHWTemp); 的返回值;如果您得到错误,则表示不会发生从字符串到整数的转换。

bool ifSuccess = int.TryParse(CHWV.Text,out CHWTemp);

如果 ifSuccess 的值为 true,则完成从 string 到 int 的转换,但如果 CHWV.Text 的值不可转换为 int,则返回 false,并且 CHWTemp 的值为 0。

只需检查您从文本框中获取的字符串是否正确。就是这样。

关于c# - 无论我输入什么数字,我的文本框总是与 '0' 进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47969747/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com