数据库数据类型的使用

来源:百度知道 编辑:UC知道 时间:2024/05/28 15:04:30
我写了一个注册页面,把qq加入数据库。不知用什么数据类型(我用了text和varchar型发现可以把汉字或英文输入数据库)如何选择啊
或是在加入数据库前的验证怎么写啊,谢谢!!!qq要输入10位。
我不太会用数据库里的数据类型,就是相似的类型的区别和适用范围,如果有人给出详细回答就分数加倍
我用的是sql2000
可是如果我输入了英文字符怎么给出错误提示呢?不会就直接输入吧,再想一想啊
三楼说的不错,我已经写了,但不管输入什么都会提示错误,即使是纯数字也是的。
QQ代码部分如下:
dim strqq,changdu
changdu=len(qq)
for i=1 to changdu
strqq=mid(qq,i,1)
if strqq <" 0 "or strqq > " 9 "then
response.write ("QQ号输入格式错误!")
response.Write"<a href='register1.asp'>注册页面</a>"
response.end
end if
next

数据库只管存储数据,你如果非得在数据库里直接录入数据,那你就用check约束写段代码

如果你用前台程序就判断一下,给你一个建议,按位取,判断是不是数字,一般的编程语言都有这个函数,类似于isnumber()
再就是按位取判断ascii码值,判断是不是在0-9ascii值内就OK了
==================================
好久不用asp写程序了

第二:你判断是不是在0-9之间有好几个办法,如上文所说,可是你现在用字符对比大于小于肯定是不对的,按现在的办法应该是你把取得的字符变成数字型再判断是否是大于等于0或小于等于9才行

第三:再提一个办法,不用转成数值型,你先定义一个变量:
例: dim str ls_num,ls_qq,ll_pos
ls_num = '0123456789'
ls_qq = mid(qq,i,1)
ll_pos = instr(ls_num,ls_qq,1)

1 代表从第1个位置开始查找

把你按位取出来的数字用instr函数判断一下
返回值大于零说明是数字
返回值等于零说明是字符

这样说明白了吗?

呵呵,这个解释比较常见:
Varchar 对每个英文(ASCII)字符都占用2个字节,对一个汉字也只占用两个字节
char 对英文(ASCII)字符占用1个字节,对一个汉字占用2个字节
Varchar 的类型不以空格填满,比如varchar(100),但它的值只是"qian",则它的值就是"qian"
而char 不一样,比如char(100),它的值是"qian",而实际上它在数据库中是"qian "(qian后共有96个空格,
就是把它填满为100个字节)。
呵呵,希望能有帮助,^_^

用varchar类型,可以输入英文、中文、数字,这个属于字符型,至于验证,就在页面上用js写验证代码好了