VFP数据库表如何设置字符型字段只能输入数字字符?
还有建立一个索引时如何使先按一个字段的升序排列,相同时再按另一个字段的降序排列?我要输的是只能是数字字符,还有第二个问题一个是升序,一个是降。...
还有建立一个索引时如何使先按一个字段的升序排列,相同时再按另一个字段的降序排列?
我要输的是只能是数字字符,还有第二个问题一个是升序,一个是降。 展开
我要输的是只能是数字字符,还有第二个问题一个是升序,一个是降。 展开
2个回答
展开全部
解问题一
如果表包含在数据库中,即数据库表,可以在该表的“表设计器”中,该字符型字段的“输入掩码”文本框中输入与字段宽度等宽位数的“9”,比如字段宽度为5,则输入掩码为“99999”。
解问题二
这里有个概念,如果 INDEX 的<索引表达式>是单个字段
1、数值型字段,按照数值的大小升序排列
2、字符型字段,按照字符的ASCII值的大小升序排列
3、日期或日期时间型字段,按照日期的远近,从远到近排列
如果 INDEX 的<索引表达式>中包含多个字段,那么首先必须要能求出该表达式的值,然后才能做到按什么顺序排列,为了简化讨论,略过日期或日期时间型,因为日期或日期时间型必能通过函数转换成数值型或字符型数据
1、如果这多个字段都是数值型,则按照索引表达式的数值运算的值的大小升序排列
2、如果这多个字段都是字符型,则各字段联接(+或-)后,按照联接的顺序各字段依字符串的大小(按照ASCII)升序排列
3、如果这多个字段中有数值型也有字符型,则索引表达式应将其统一到同一数据类型。
举例:设表T1.DBF,字段C1、C2为数值型,字段C3、C4为字符型
** 按C1+C2的和升序排列
INDEX ON C1+C2 TO T1
** 字段C3升序,相同时C4升序
INDEX ON C3+C4 TO T2
** 字段C1升序,相同时C2升序
INDEX ON STR(C1)+STR(C2) TO T3 && 将C1、C2都转成字符型,以字符串大小排列
** 字段C1升序,相同时C3升序
INDEX ON STR(C1)+C3 TO T4 && 将C1转成字符型,以字符串大小排列
** 字段C3升序,相同时C4降序
INDEX ON C3+STR(127-ASC(C4)) TO T5 && 127为ASCII的最大值
** 字段C1降序,相同时C3升序
INDEX ON STR(999-C1)+C3 TO T6 && 假设数值型字段C1的宽度为3位,999为该字段允许的最大值
如果表包含在数据库中,即数据库表,可以在该表的“表设计器”中,该字符型字段的“输入掩码”文本框中输入与字段宽度等宽位数的“9”,比如字段宽度为5,则输入掩码为“99999”。
解问题二
这里有个概念,如果 INDEX 的<索引表达式>是单个字段
1、数值型字段,按照数值的大小升序排列
2、字符型字段,按照字符的ASCII值的大小升序排列
3、日期或日期时间型字段,按照日期的远近,从远到近排列
如果 INDEX 的<索引表达式>中包含多个字段,那么首先必须要能求出该表达式的值,然后才能做到按什么顺序排列,为了简化讨论,略过日期或日期时间型,因为日期或日期时间型必能通过函数转换成数值型或字符型数据
1、如果这多个字段都是数值型,则按照索引表达式的数值运算的值的大小升序排列
2、如果这多个字段都是字符型,则各字段联接(+或-)后,按照联接的顺序各字段依字符串的大小(按照ASCII)升序排列
3、如果这多个字段中有数值型也有字符型,则索引表达式应将其统一到同一数据类型。
举例:设表T1.DBF,字段C1、C2为数值型,字段C3、C4为字符型
** 按C1+C2的和升序排列
INDEX ON C1+C2 TO T1
** 字段C3升序,相同时C4升序
INDEX ON C3+C4 TO T2
** 字段C1升序,相同时C2升序
INDEX ON STR(C1)+STR(C2) TO T3 && 将C1、C2都转成字符型,以字符串大小排列
** 字段C1升序,相同时C3升序
INDEX ON STR(C1)+C3 TO T4 && 将C1转成字符型,以字符串大小排列
** 字段C3升序,相同时C4降序
INDEX ON C3+STR(127-ASC(C4)) TO T5 && 127为ASCII的最大值
** 字段C1降序,相同时C3升序
INDEX ON STR(999-C1)+C3 TO T6 && 假设数值型字段C1的宽度为3位,999为该字段允许的最大值
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询