佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 1079|回复: 11

做vb.net + SQL project被教授文到了一个难搞的问题。。。。

[复制链接]
发表于 30-1-2008 02:56 AM | 显示全部楼层 |阅读模式
想问一问vb.net + SQL的高手?

小弟在做vb.net + SQL project被教授文到了一个难搞的问题。。。。

首先是vb.net的。。。。
在一个textbox把数字输入后,在那个textbox输入的数字会加入到我的SQL的databse里。。。

基本上这个很容易。。。可是教授要我的program的textbox里只能输入numeric,就是数字,完全不能输入其他的字,比如:A, B, C, a, b, c......

我首先想到的是用“if else”的方法,可是他就是不让我用那个方法,硬硬要我用别的方法,他说还有其他的根好的方法。。。

想请问这里的各位高手。。。有没有人能救救小弟啊。。。
回复

使用道具 举报


ADVERTISEMENT

发表于 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 | 显示全部楼层
我想你教授所讲的应该是"input mask".
回复

使用道具 举报

 楼主| 发表于 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就达到我的要求吗?

请赐教。。。谢谢
回复

使用道具 举报

Follow Us
发表于 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 | 显示全部楼层
原帖由 xiaoluo 于 31-1-2008 09:34 AM 发表
VB.net 我不熟,在Java不用到If的方法我倒有一个,给你参考:

try{
int a = Interger.parseInt(ValueOfTextBox);
}catch(Exception e) //如果转换不成功,就会throw exception啦~ 所以不需要用到If
{
//Th ...


这个。。。厉害
回复

使用道具 举报


ADVERTISEMENT

发表于 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
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 14-5-2024 09:24 AM , Processed in 0.056769 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表