所以我有一个想法,因为我发现很难为 txtbox 编写代码,它只允许使用 c# 在 mysql 中使用整数而不是字母。我的计划是为什么不将数据库列设置为整数而不是典型的 varchar,如果你放了一个字母,它当然会变成异常,所以在这种情况下,我想捕获异常并提示一个消息框说“请仅输入整数” . 你怎么看?
问问题
100421 次
4 回答
24
为您计划在其中存储的内容使用正确的列数据类型是个好主意,但检查字符串是否仅包含数字非常容易 - 只需解析并查看是否返回错误:
int parsedValue;
if (!int.TryParse(textBox.Text, out parsedValue))
{
MessageBox.Show("This is a number only field");
return;
}
// Save parsedValue into the database
于 2013-03-14T01:00:25.333 回答
4
Visual Studio 内置了对此的支持(您也可以通过编码实现它)。这是您需要做的:
- 从标记视图切换到设计视图。
- 现在单击设计视图并按Ctrl+ Alt+ X。
- 从打开的工具箱中单击验证并将比较验证器拖到您的
TextBox
. - 右键单击比较验证器并选择属性,现在找到
ErrorMessage
并写入“警报:仅键入数字”。 - 在要验证的控件中选择您的控件。
- 在 Operator 中选择 DataTypeCheck,在 Type 中选择 Integer。
也通过编码你可以得到它:
protected void Button1_Click(object sender, EventArgs e)
{
int i;
if (!int.TryParse(textBox.Text, out i))
{
Label.Text = "This is a number only field";
return;
}
}
于 2014-07-14T07:39:19.150 回答
1
if(Int32.TryParse(textBox1.Text, out int value))
{
// Here comes the code if numeric
}
else
{
// Here comes the code if not numeric
}
于 2019-03-17T08:43:11.963 回答
0
你可以通过这种方式实现
int outParse;
// Check if the point entered is numeric or not
if (Int32.TryParse(propertyPriceTextBox.Text, out outParse) && outParse)
{
// Do what you want to do if numeric
}
else
{
// Do what you want to do if not numeric
}
于 2014-01-02T12:00:23.770 回答