查看: 1079|回复: 11
|
做vb.net + SQL project被教授文到了一个难搞的问题。。。。
[复制链接]
|
|
想问一问vb.net + SQL的高手?
小弟在做vb.net + SQL project被教授文到了一个难搞的问题。。。。
首先是vb.net的。。。。
在一个textbox把数字输入后,在那个textbox输入的数字会加入到我的SQL的databse里。。。
基本上这个很容易。。。可是教授要我的program的textbox里只能输入numeric,就是数字,完全不能输入其他的字,比如:A, B, C, a, b, c......
我首先想到的是用“if else”的方法,可是他就是不让我用那个方法,硬硬要我用别的方法,他说还有其他的根好的方法。。。
想请问这里的各位高手。。。有没有人能救救小弟啊。。。 |
|
|
|
|
|
|
|
发表于 30-1-2008 09:28 AM
|
显示全部楼层
用 KeyPress event 来 handle 你的 input
肯定要用到 If...Else 的
用 Char.IsNumber & Char.IsLetter 来 check 你的 input |
|
|
|
|
|
|
|
发表于 30-1-2008 09:46 AM
|
显示全部楼层
也可以用Java Script..
这问题其实是很普通而已.. |
|
|
|
|
|
|
|
发表于 30-1-2008 11:42 AM
|
显示全部楼层
|
|
|
|
|
|
|
楼主 |
发表于 30-1-2008 08:54 PM
|
显示全部楼层
对你们来说很容易,可是我没学过吖。。。我不是IT的,所以没学到那么深。这个算是我额外的课。。。
input mask?我没学过吖。。。有没有什么网站有教这个的?因为我的课程里没有学过这个。。。用input mask就可以不用if...else就达到我的要求吗?
请赐教。。。谢谢 |
|
|
|
|
|
|
|
楼主 |
发表于 30-1-2008 08:55 PM
|
显示全部楼层
对你们来说很容易,可是我没学过吖。。。我不是IT的,所以没学到那么深。这个算是我额外的课。。。
input mask?我没学过吖。。。有没有什么网站有教这个的?因为我的课程里没有学过这个。。。用input mask就可以不用if...else就达到我的要求吗?
请赐教。。。谢谢 |
|
|
|
|
|
|
|
发表于 31-1-2008 09:34 AM
|
显示全部楼层
VB.net 我不熟,在Java不用到If的方法我倒有一个,给你参考:
try{
int a = Interger.parseInt(ValueOfTextBox);
}catch(Exception e) //如果转换不成功,就会throw exception啦~ 所以不需要用到If
{
//The value of text box consists of alphabets
}
话说……VB.net 好像有个Function 叫 IsNumeric 的可以 call。呵呵,不可用IF-Else,VB.net有没有Switch-Case? 加油呗~ |
|
|
|
|
|
|
|
发表于 1-2-2008 09:30 AM
|
显示全部楼层
|
|
|
|
|
|
|
发表于 1-2-2008 10:44 AM
|
显示全部楼层
Public Sub ForceNumericInput( _
ByVal e As System.Windows.Forms.KeyPressEventArgs)
If Not IsNumeric(e.KeyChar) And _
Not Asc(e.KeyChar) = Keys.Back Then
e.Handled = True
End If
End Sub
‘在Textbox的key press event 里call ForceNumericInput function
Private Sub Textbox_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Textbox.KeyPress
ForceNumericInput(e)
End Sub |
|
|
|
|
|
|
|
发表于 2-2-2008 08:35 PM
|
显示全部楼层
Try
If (e.KeyChar >= Chr(48) And e.KeyChar <= Chr(57)) Or e.KeyChar = Chr(8) Or e.KeyChar = Chr(47) Then
Exit Sub
e.Handled = True
Else
e.KeyChar = Chr(1)
End If
Catch ex As Exception
MsgBox("error", MsgBoxStyle.Critical, "error")
这个也是可以... |
|
|
|
|
|
|
|
发表于 15-2-2008 05:43 PM
|
显示全部楼层
|
|
|
|
|
|
|
发表于 15-2-2008 11:23 PM
|
显示全部楼层
最容易的方法是:只要输入numeric以外的东西,textbox直接clear contain.
Example
Private Sub TextBox1_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyUp
If Not IsNumeric(TextBox1.Text) Then
TextBox1.Clear()
End If
End Sub |
|
|
|
|
|
|
| |
本周最热论坛帖子
|