2013-03-14 2 views
4

Итак, у меня есть идея, потому что мне сложно создать код для txtbox, который будет использовать только число, а не буквы в mysql, используя C#. Мой план почему-то не устанавливает столбец базы данных в целое число вместо типичного varchar, и если вы когда-либо разместите письмо, оно, конечно, превратится и исключение, поэтому в этом случае я хочу поймать исключение и вызвать сообщение с сообщением «Пожалуйста, введите только целое число», , Как вы думаете?Проверка того, содержит ли текстовое поле только числа

+0

Вам не нужно дублировать метки в заголовке (особенно в форме вопроса «? Я использую C#», как будто вы не знаете, на каком языке ты используешь). Боковое замечание: ваш фактический вопрос, похоже, «как проверить, является ли строка целой для хранения в БД» ... –

+0

Хорошо, я перефразирую ее, но это то, что я собирался спросить. – Jayseer

ответ

14

Это хорошая идея, чтобы использовать правильный тип данных столбца для того, что вы собираетесь хранить в нем, но это очень легко проверить, содержит ли строка только цифры - просто разобрать и посмотреть, если возвращается ошибка:

int parsedValue; 
if (!int.TryParse(textBox.Text, out parsedValue)) 
{ 
    MessageBox.Show("This is a number only field"); 
    return; 
} 

// Save parsedValue into the database 
+0

ваш код для меня новый, потому что я пробовал разные коды, но они не работают. Но в любом случае, я попробую. Спасибо – Jayseer

+0

Не беспокойтесь. Удачи! –

+0

Это отлично работает! – Jayseer

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 
    }  
+0

Это даже не компилируется. Вы не можете использовать логические операторы с целыми числами ('&& outParse'). –

0

его очень простая задача ...... Вы можете убедиться легко, что пользователь входит в числовом поле. Визуальная студия имеет поддержку для этого (и вы также можете достичь этого с помощью кодирования). Вот что вам нужно сделать: - Переключитесь на проектный вид из вида разметки. Теперь щелкните по проектору и нажмите Ctrl + Alt + X. Из открывающейся панели инструментов нажмите «Проверка» и перетащите проверитель сравнения рядом с вашим текстовым полем. Вернитесь к валидатору сравнения и выберите свойства, теперь найдите ErrorMessage и напишите «Alert: Type only Number». В элементе управления для проверки выберите свой элемент управления. В Операторе выберите 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; 
} 
Смежные вопросы