2013-03-14 70 views
4

所以我有一個想法,因爲我發現很難爲txtbox創建一個只允許整數而不是使用c#的mysql中的字母的代碼。我的計劃是爲什麼不將數據庫列設置爲整數而不是典型的varchar,並且如果您有任何信件,當然它會變成異常,所以在這種情況下,我想捕獲異常並提示一個消息框「只輸入整數」 。你怎麼看?驗證文本框是否只包含數字

+0

你並不需要複製的標題(特別是在問題的形式標記「?我使用C#」,如果你不知道用什麼語言你用)。附註:您的實際問題似乎是「如何驗證字符串是否爲整數以存儲在數據庫中」... – 2013-03-14 01:04:17

+0

好的我會重寫它,但這正是我想要問的。 – Jayseer 2013-03-14 01:19:57

回答

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 2013-03-14 01:04:36

+0

不用擔心。祝你好運! – 2013-03-14 01:11:30

+0

這是完美的謝謝你! – Jayseer 2013-03-14 01:13:18

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')。 – 2014-02-26 22:31:17

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; 
} 
相關問題