Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
验证用户输入C#_C#_Sql_Validation_User Input - Fatal编程技术网

验证用户输入C#

验证用户输入C#,c#,sql,validation,user-input,C#,Sql,Validation,User Input,如何检查用户是否在文本字段中输入了数字?如果他们输入了文本以外的数据,我希望显示一条错误消息,并返回以再次获取他们的输入。。任何帮助都将不胜感激。谢谢 代码如下: myCmd.CommandText = "INSERT INTO Guest(Guest_First_Name, Guest_Surname, Guest_Address, Guest_Postcode, Guest_Telephone, [Guest_E-mail])" + "VALUES(@Fname, @Sname, @Addr

如何检查用户是否在文本字段中输入了数字?如果他们输入了文本以外的数据,我希望显示一条错误消息,并返回以再次获取他们的输入。。任何帮助都将不胜感激。谢谢

代码如下:

myCmd.CommandText = "INSERT INTO Guest(Guest_First_Name, Guest_Surname, Guest_Address, Guest_Postcode, Guest_Telephone, [Guest_E-mail])" + "VALUES(@Fname, @Sname, @Address, @Postcode, @Telephone, @Email)";

        myCmd.Parameters.Add("@Fname", OleDbType.Char).Value = firstName.Text;
        myCmd.Parameters.Add("@Sname", OleDbType.Char).Value = surname.Text;
        myCmd.Parameters.Add("@Address", OleDbType.Char).Value = address.Text;
        myCmd.Parameters.Add("@Postcode", OleDbType.Char).Value = postcode.Text;
        myCmd.Parameters.Add("@Telephone", OleDbType.Char).Value = telephone.Text;
        myCmd.Parameters.Add("@Email", OleDbType.Char).Value = email.Text;

        connect.Open();
        int rowsChanged = myCmd.ExecuteNonQuery();
        connect.Close();

        if (rowsChanged == 1)
        {
            MessageBox.Show("Record Inserted");
        }
        else
        {
            MessageBox.Show("Error: Record Not Inserted");
        }

假设textField是字段的名称。然后您可以在C#中执行以下操作:-

您还可以尝试以下方法(未经测试):-


在第一个示例中,numberstyle默认为Integer。将其更改为“无”可能会有所帮助。

让我们假设textField是字段的名称。然后您可以在C#中执行以下操作:-

您还可以尝试以下方法(未经测试):-


在第一个示例中,numberstyle默认为Integer。将其更改为“无”可能会有所帮助。

让我们假设textField是字段的名称。然后您可以在C#中执行以下操作:-

您还可以尝试以下方法(未经测试):-


在第一个示例中,numberstyle默认为Integer。将其更改为“无”可能会有所帮助。

让我们假设textField是字段的名称。然后您可以在C#中执行以下操作:-

您还可以尝试以下方法(未经测试):-


在第一个示例中,numberstyle默认为Integer。将其更改为“无”可能会有所帮助。

可以使用以下内容:

private void textBox1_TextChanged(object sender, EventArgs e)
{
    textBox1.Text = string.Concat(textBox1.Text.Where(char.IsLetter));
}

这不会显示任何错误;除了字母以外的任何内容都将被删除。

可以使用以下内容:

private void textBox1_TextChanged(object sender, EventArgs e)
{
    textBox1.Text = string.Concat(textBox1.Text.Where(char.IsLetter));
}
int result;
if (int.TryParse(input.Text, out result))
{
    // it's a valid integer => you could use the result variable here
}

这不会显示任何错误;除了字母以外的任何内容都将被删除。

可以使用以下内容:

private void textBox1_TextChanged(object sender, EventArgs e)
{
    textBox1.Text = string.Concat(textBox1.Text.Where(char.IsLetter));
}
int result;
if (int.TryParse(input.Text, out result))
{
    // it's a valid integer => you could use the result variable here
}

这不会显示任何错误;除了字母以外的任何内容都将被删除。

可以使用以下内容:

private void textBox1_TextChanged(object sender, EventArgs e)
{
    textBox1.Text = string.Concat(textBox1.Text.Where(char.IsLetter));
}
int result;
if (int.TryParse(input.Text, out result))
{
    // it's a valid integer => you could use the result variable here
}
这不会显示任何错误;除了信件以外的任何东西都会被删除

int result;
if (int.TryParse(input.Text, out result))
{
    // it's a valid integer => you could use the result variable here
}
或者,如果要在keypress中进行验证

private void txtbox1_KeyPress(object sender, KeyPressEventArgs e)
{
    if (e.KeyChar >= '0' && e.KeyChar <= '9' || e.KeyChar == '')  
    {
        e.Handled = false; //Do not reject the input
    }
    else
    {
        e.Handled = true; //Reject the input
    }
}
private void txtbox1\u按键(对象发送器,按键事件参数e)
{
如果(e.KeyChar>='0'&&e.KeyChar
或者,如果要在keypress中进行验证

private void txtbox1_KeyPress(object sender, KeyPressEventArgs e)
{
    if (e.KeyChar >= '0' && e.KeyChar <= '9' || e.KeyChar == '')  
    {
        e.Handled = false; //Do not reject the input
    }
    else
    {
        e.Handled = true; //Reject the input
    }
}
private void txtbox1\u按键(对象发送器,按键事件参数e)
{
如果(e.KeyChar>='0'&&e.KeyChar
或者,如果要在keypress中进行验证

private void txtbox1_KeyPress(object sender, KeyPressEventArgs e)
{
    if (e.KeyChar >= '0' && e.KeyChar <= '9' || e.KeyChar == '')  
    {
        e.Handled = false; //Do not reject the input
    }
    else
    {
        e.Handled = true; //Reject the input
    }
}
private void txtbox1\u按键(对象发送器,按键事件参数e)
{
如果(e.KeyChar>='0'&&e.KeyChar
或者,如果要在keypress中进行验证

private void txtbox1_KeyPress(object sender, KeyPressEventArgs e)
{
    if (e.KeyChar >= '0' && e.KeyChar <= '9' || e.KeyChar == '')  
    {
        e.Handled = false; //Do not reject the input
    }
    else
    {
        e.Handled = true; //Reject the input
    }
}
private void txtbox1\u按键(对象发送器,按键事件参数e)
{


如果(e.KeyChar>='0'&&e.KeyChar@Lioyd..使用服务器端验证控件或写入按键event@LIoyd数字并不是我认为您不能识别为文本的唯一字符。事实上,我认为您需要正则表达式之类的东西来检查
[a-z][a-z]
或其他东西。或者您可以使用
字符集(ch)
如本文所述-并检查每个字符。@Lioyd..使用服务器端验证控件或写入按键event@LIoyd数字并不是我认为您不能识别为文本的唯一字符。事实上,我认为您需要类似正则表达式的东西来检查
[a-z][a-z]
或其他什么。或者您可以使用此处所述的
字符Isleter(ch)
,并检查每个字符。@Lioyd..使用服务器端验证控件或写入按键event@LIoyd数字并不是我认为您不能识别为文本的唯一字符。事实上,我认为您需要类似正则表达式的东西来检查
[a-z][a-z]
或其他什么的。或者你可以使用
Char.isleter(ch)
如本文所述-并检查每个字符。@Lioyd..使用服务器端验证控件或写入按键event@LIoyd数字并不是我认为您不能识别为文本的唯一字符。事实上,我认为您需要类似正则表达式的东西来检查
[a-z][a-z]
或其他。或者您可以使用
Char.isleter(ch)
如本文所述-并检查每个字符。我不会说无法解析为
Int
的所有内容都是文本。感谢您的回答,该方法部分有效。如果我先对字母进行编号,然后再将其插入到数据库中,它将接受该字母:/I我如何阻止它这样做?您提供的输入是什么?另外,添加了另一个代码。检查这是否解决了问题Hi Max,尝试了您的方法,但NumberStyles和CultureInfo得到一条红色下划线,表示它们在当前上下文中不存在。我将如何解决此错误?谢谢,LloydI不会说无法解析为
Int
的所有内容都是文本。谢谢您的回答,该方法正在部分工作。如果我输入数字,然后输入一个字母,它将接受它并将其插入数据库:/我如何阻止它这样做?您提供的输入是什么?另外,添加了另一个代码。检查这是否解决了问题Hi Max,尝试了您的方法,但NumberStyles和CultureInfo会显示一条红色下划线,表示它们不存在在当前上下文中。我将如何解决此错误?谢谢,LloydI不会说无法解析为
Int
的所有内容都是文本。谢谢您的回答,该方法部分有效。如果我先对字母进行编号,然后再对字母进行编号,它将接受该错误并将其插入数据库:/我将如何阻止它这样做?输入是什么您是否正在提供?另外,添加了另一个代码。检查这是否解决了问题Hi Max,尝试了您的方法,但NumberStyles和CultureInfo得到一条红色下划线,表示它们在当前上下文中不存在。我将如何解决此错误?谢谢,LloydI不会说无法解析为
Int
的所有内容都是文本。谢谢您的帮助回答,该方法部分有效。如果我给一个字母加上数字,它就会接受它并将其插入数据库:/我如何阻止它这样做?你给出的输入是什么?另外,添加了另一个代码。检查这是否解决了问题Hi Max,尝试了你的方法,但numbers Styles和CultureInfo会得到一条红色下划线,上面写着they在当前上下文中不存在。我将如何解决此错误?谢谢,Lloyd