| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 730 人关注过本帖
标题:[求助]问题出在哪?????
只看楼主 加入收藏
jackie
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2005-7-31
收藏
 问题点数:0 回复次数:4 
[求助]问题出在哪?????
我在命令窗口中先执行:create data a
再在命令窗口中执行:create table a(分数 N(4,1) CHECK(分数 BETWEEN 500 AND 600))
系统提示错误信息,请大家说我到底错在哪里,我真的是搞不懂错的在哪,请各位高手前来帮忙。
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: create 系统 
2005-08-22 23:19
tzhtang
Rank: 1
等 级:新手上路
帖 子:888
专家分:0
注 册:2004-8-30
收藏
得分:0 
你再研究一下 CREATE TABLE  的命令格式,这个提示是指命令格式不对.

2005-08-23 10:42
jackie
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2005-7-31
收藏
得分:0 
我已经研究过了,就是不知道问题出在哪里,书上也是这样教的,我照它的做了就是不对。请大家来帮一下我,我正急用这个。谢谢了!!
2005-08-23 11:39
jackie
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2005-7-31
收藏
得分:0 
有没有能帮我解决一下这个问题啊,求助高手帮忙
2005-08-24 11:37
fown
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:58
帖 子:1229
专家分:171
注 册:2005-5-26
收藏
得分:0 

创建一个含有指定字段的表。

语法 CREATE TABLE | DBF TableName1 [NAME LongTableName] [FREE] (FieldName1 FieldType [(nFieldWidth [, nPrecision ])] [NULL | NOT NULL] [CHECK lExpression1 [ERROR cMessageText1]] [DEFAULT eExpression1] [PRIMARY KEY | UNIQUE] [REFERENCES TableName2 [TAG TagName1]] [NOCPTRANS] [, FieldName2 ...] [, PRIMARY KEY eExpression2 TAG TagName2 |, UNIQUE eExpression3 TAG TagName3] [, FOREIGN KEY eExpression4 TAG TagName4 [NODUP] REFERENCES TableName3 [TAG TagName5]] [, CHECK lExpression2 [ERROR cMessageText2]]) | FROM ARRAY ArrayName 参数 CREATE TABLE | DBF TableName1 指定要创建的表的名称。TABLE 和 DBF 选项作用相同。 NAME LongTableName 指定表的长名。因为长表名存储在数据库中,只有在打开数据库时才能指定长表名。 长名最多可包括 128 个字符,在数据库中可用来代替短名。 FREE 指定所创建的表不添加到数据库中。如果没有打开数据库则不需要 FREE。 (FieldName1 FieldType [(nFieldWidth [, nPrecision])] 分别指定字段名、字段类型、字段宽度和字段精度(小数位数)。 FieldType 是指定字段数据类型的单个字母。有些字段数据类型要求指定 nFieldWidth 或 nPrecision 或两者都要指定。 下表列出了 FieldType 的值及是否需要指定 nFieldWidth和 nPrecision。

FieldTypenFieldWidth nPrecision说明
Cn宽度为 n 的字符字段
D日期型
T日期时间型
Nnd宽度为 n、有 d 位小数的数值型字段
Fnd宽度为 n、有 d 位小数的浮点数值型字段
I整型
Bd双精度型
Y货币型
L逻辑型
M备注型
G通用型
nFieldWidth 和 nPrecision 不适用于 D、T、I、Y、L、M、G 和 P 类型。对于 N、F 或 B 类型,若不包含 nPrecision,则 nPrecision 默认为零(没有小数位)。 NULL 在字段中允许 Null 值。 NOT NULL 在字段中不允许 Null 值。 如果省略了 NULL 或 NOT NULL,SET NULL 的当前设置将决定在字段中是否允许 Null 值。但是,如果省略 NULL 和 NOT NULL 而包含 PRIMARY KEY 或 UNIQUE 子句,SET NULL 的当前设置无效,字段默认为 NOT NULL。 CHECK lExpression1 指定字段的有效性规则。lExpression1 可以是用户自定义函数。请注意,当追加空记录时,就要检查有效性规则。如果有效性规则不允许在追加记录中有空字段值,则产生错误。 ERROR cMessageText1 指定当字段规则产生错误时,Visual FoxPro 显示的错误信息。只有当数据在浏览窗口或编辑窗口中做了修改时,才显示信息。 DEFAULT eExpression1 指定字段的默认值。eExpression1 的数据类型必须和字段的数据类型相同。 PRIMARY KEY 将此字段作为主索引。主索引标识名和字段名相同。 UNIQUE 将此字段作为一个候选索引。候选索引标识名和字段名相同。有关候选索引的详细内容,请参阅使用索引和《开发指南》的第七章“处理表”。 附注 候选索引(通过在 CREATE TABLE 或 ALTER TABLE-SQL 中包含 UNIQUE 选项来创建)和用 INDEX 命令的 UNIQUE 选项创建的索引不同。用 INDEX 命令的 UNIQUE 选项创建的索引允许重复索引关键字;候选索引不允许重复索引关键字。有关 UNIQUE 选项的其他内容,请参阅 INDEX 命令。 在主索引或候选索引字段中不允许 Null 值和重复记录。但是,如果为支持 Null 值的字段创建主索引或候选索引,Visual FoxPro 将不会产生错误。但是,如果试图把 Null 值或重复值输入到用作主索引或候选索引的字段中时,Visual FoxPro 将产生错误。 REFERENCES TableName2 [TAG TagName1] 指定建立永久关系的父表。如果省略 TAG TagName1,则使用父表的主索引关键字建立关系。如果父表没有主索引,则 Visual FoxPro 产生错误。 可包含 TAG TagName1,为父表建立一个基于现有索引标识的关系,索引标识名最多可包含 10 个字符。 父表不能是自由表。 NOCPTRANS 防止字符字段和备注字段转换到另一个代码页。如果要将表转换到其他代码页,则指定了 NOCPTRANS 的字段不转换。只能为字符字段和备注字段指定 NOCPTRANS。 下面的示例创建了表 MYTABLE,该表有两个字符字段和两个备注字段,第二个字符字段 CHAR2 和第二个备注字段 MEMO2 包含有防止转换的 NOCPTRANS。 CREATE TABLE mytable (char1 C(10), char2 C(10) NOCPTRANS,; memo1 M, memo2 M NOCPTRANS) PRIMARY KEY eExpression2 TAG TagName2 指定要创建的主索引。eExpression2 指定表中的任一个字段或字段组合。TAG TagName2 指定要创建的主索引标识的名称。索引标识名最多包含 10 个字符。 因为表只能有一个主索引,如已经创建了一个主索引字段,则命令中不能包含本子句。如果在 CREATE TABLE 中包含多个 PRIMARY KEY 子句,Visual FoxPro 将产生错误。 UNIQUE eExpression3 TAG TagName3 创建侯选索引。eExpression3 指定表中的任一字段或字段组合。但是,如果已经用一个 PRIMARY KEY 选项创建了一个主索引,则不能包含指定为主索引的字段。TAG TagName3 为要创建的候选索引标识指定了标识名。索引标识名最多可包含 10 个字符。 一个表可以有多个侯选索引。 FOREIGN KEY eExpression4 TAG TagName4 [NODUP] 创建一个外部索引(非主索引),并建立和父表的关系。eExpression4 指定外部索引关键字表达式,而 TagName4 为要创建的外部索引关键字标识指定名称。索引标识名最多可包含 10 个字符。包含 NODUP 来创建一个候选外部索引。 可以为表创建多个外部索引,但外部索引表达式必须指定表中的不同字段。 REFERENCES TableName3 [TAG TagName5] 指定建立永久关系的父表。可包含 TAG TagName5,为父表建立一个基于索引标识的关系。索引标识名最多可包含 10 个字符。如果省略 TAG TagName5,则默认用父表的主索引关键字建立关系。 CHECK eExpression2 [ERROR cMessageText2] 指定表的有效性规则。ERROR cMessageText2 指定当有效性规则执行时,Visual FoxPro 显示的错误信息。只有当数据在浏览窗口或编辑窗口中做了修改时,才显示该信息。 FROM ARRAY ArrayName 指定一个已存在的数组名称,数组中包含表的每个字段的名称、类型、精度以及宽度。数组的内容可用 AFIELDS( ) 函数来定义。 说明 新表在最低的可用工作区中打开,并可通过它的别名来访问。不管 SET EXCLUSIVE 的当前设置如何,新表都以独占方式打开。 如果打开了数据库,并且没有包含 FREE 子句,则新表添加到数据库中。不能创建和数据库中的表同名的新表。 如果数据库打开,CREATE TABLE-SQL 会要求独占使用数据库。若要以独占方式打开数据库,可在 OPEN DATABASE 中包含 EXCLUSIVE。 如果在创建新表时没有打开数据库,且包含了 NAME、CHECK、DEFAULT、FOREIGN KEY、PRIMARY KEY 或 REFERENCES 子句,则将产生错误。 请注意 CREATE TABLE 语法用逗号隔开各个 CREATE TABLE 选项。同样,NULL、NOT NULL、CHECK、DEFAULT、PRIMARY KEY 和 UNIQUE 子句必须放在包含列定义的圆括号之内。 自己再看看

有人说VFP不行了,我想说,你连VFP十分之一的功能都不会用,你怎么知道VFP不行?本人拒绝回答学生的问题我回答问题一般情况下只提供思路不提供代码,请理解
2005-08-24 18:26
快速回复:[求助]问题出在哪?????
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020075 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved