听说FOXPRO能用SQL语句是真的吗

yangtaoliang 2003-01-20 05:13:53
我听说FOXPRO能用SQL语句是吗,怎么用呀,主要应用于那部分,能说说吗
...全文
148 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
流星尔 2003-01-24
  • 打赏
  • 举报
回复
当然可以,不过跟SQL SERVER里的有所不同
microraindrop 2003-01-23
  • 打赏
  • 举报
回复
SELECT ?SQL 命令从一个或多个表中检索数据。语法SELECT [ALL | DISTINCT] [TOP nExpr [PERCENT]][Alias.] Select_Item [AS Column_Name][, [Alias.] Select_Item [AS Column_Name] ...]FROM [FORCE][DatabaseName!]Table [[AS] Local_Alias][[INNER | LEFT [OUTER] | RIGHT [OUTER] | FULL [OUTER] JOINDatabaseName!]Table [[AS] Local_Alias][ON JoinCondition 匽[[INTO Destination]| [TO FILE FileName [ADDITIVE] | TO PRINTER [PROMPT]| TO SCREEN]][PREFERENCE PreferenceName][NOCONSOLE][PLAIN][NOWAIT][WHERE JoinCondition [AND JoinCondition ...][AND | OR FilterCondition [AND | OR FilterCondition ...]]][GROUP BY GroupColumn [, GroupColumn ...]][HAVING FilterCondition][UNION [ALL] SELECTCommand][ORDER BY Order_Item [ASC | DESC] [, Order_Item [ASC | DESC] ...]]
参数描述
SELECT在 SELECT 子句中指定在查询结果中包含的字段、常量和表达式。ALL查询结果中包含所有行 ( 包括重复值 )。ALL 是默认设置。DISTINCT在查询结果中剔除重复的行。注意 每一个 SELECT 子句只能使用一次 DISTINCT。TOP nExpr [PERCENT]在符合查询条件的所有记录中,选取指定数量或百分比的记录。TOP 子句必须与 ORDER BY 子句同时使用。ORDER BY 子句指定查询结果中包含的列上由Top字句决定的行数, TOP 子句根据此排序选定最开始的 nExpr个或 nExpr% 的记录。您可以指定选取 1 到 32767 个记录。使用 ORDER BY 子句指定的字段进行排序,会产生并列的情况,比如,可能有多个记录,它们在选定的字段上相同;所以,如果您指定 nExpr 为 10,在查询结果中可能多于 10 个记录,因为可能有几个记录位置并列。如果包含 PERCENT 关键字指定查询结果中的记录数,得到记录数的可能是小数,这时进行取整。包含 PERCENT 关键字时,nExpr 的范围是 0.01 到 99.99。Alias.限定匹配项的名称。 Select_Item 指定的每一项在查询结果中都生成一列。如果多个项具有相同的名称,则应在这些项名前加上表的别名和一个句点,以防止出现重复的列。Select_Item 指定包括在查询结果中的项。一个项可以是:FROM 子句所包含的表中的字段名称。一个常量,查询结果中每一行都出现这个常量值。一个表达式,可以是用户自定义函数名。
AS Column_Name指定查询结果中列的标题。当 Select_Item 是一个表达式或一个字段函数时,如果要给此列取一个有含义的名称,一般可以使用这个子句。Column_Name可以是一个表达式,但不能包含那些表字段名称中不允许出现的字符(如空格)。FROM列出所有从中检索数据的表。如果没有打开表, Visual FoxPro 显示“打开”对话框以便指定文件位置。表打开以后,直到查询结束时才关闭。如果您包含 FORCE 关键字,Visual FoxPro 在建立查询时会严格按照您在FROM 子句中声明的顺序连接表;若不包含 FORCE 关键字,Visual FoxPro 会试图对查询进行优化。使用 FORCE 子句,避免了优化过程,可能加快查询执行的速度。DatabaseName!当包含表的数据库不是当前数据库时,DatabaseName! 指定这个数据库的名称。如果数据库不是当前数据库,就必须指定包含表的数据库名称。应在数据库名称之后表名之前加上感叹号(!)分隔符。 [AS] Local_Alias为 Table 中的表指定一个临时名称。如果指定了本地别名,那么在整个SELECT 语句中必须都用这个别名代替表名。本地别名不影响 Visual FoxPro环境。INNER JOIN 只有在其他表中包含对应记录(一个或多个)的记录才出现在查询结果中。LEFT [OUTER] JOIN 在查询结果中包含:JOIN 左侧表中的所有记录,以及JOIN 右侧表中匹配的记录。OUTER 关键字可被省略;包含 OUTER 强调这是一个外连接 (outer join)RIGHT [OUTER] JOIN 在查询结果中包含:JOIN 右侧表中的所有记录,以及 JOIN 左侧表中匹配的记录。OUTER 关键字可被省略;包含 OUTER 强调这是一个外连接接 (outer join)。FULL [OUTER] JOIN在查询结果中包含:JOIN 两侧所有的匹配记录,和不匹配的记录;包含 OUTER 强调这是一个外连接 (outer join)。ON JoinCondition 指定连接条件。INTO Destination指定在何处保存查询结果。如果在同一个查询中同时包括了 INTO 子句和 TO 子句,则 TO 子句不起作用。如果没有包括 INTO 子句,查询结果显示在“浏览”窗口中。也可以用 TO 将查询结果定向输出到打印机或文件。Destination 可以是下列子句之一:ARRAY ArrayName ,将查询结果保存到变量数组中。如果查询结果中不包含任何记录,则不创建这个数组。CURSOR CursorName将查询结果保存到临时表中。如果指定了一个已打开表的名称,则 Visual FoxPro 产生错误信息。执行完 SELECT 语句后,临时表仍然保持打开、活动但只读。一旦关闭临时表,则自动删除它。临时表作为 SORTWORK 指定驱动器上的一个临时文件存在。包含NOFILTER是为了创建一个能用在后来的询问中的指针。在Visual燜oxPro以前的版本需要一个额外的常量或表达式作为过滤器去创建一个能用在后来的询问中的指针。SELECT *, .T. FROM customers INTD CURSOR myquery包含NOFILTER能够减少询问的发生是因为临时表是建立在磁盘上的,当临时表被删除,指针就要被关闭。DBF TableName | TABLE TableName ,将查询结果保存到一个表中。如果指定的表已经打开,并且 SET SAFETY 设置为 OFF,则 Visual FoxPro 在不给出警告的情况下改写该表。如果没有指定扩展名,Visual FoxPro 指定表的扩展名是 .DBF。SELECT 语句执行结束后,表仍然保持打开活动状态。包含DATABASE DatabaseName 以指定添加了表的数据库。包含NAMELongTableName 可以为该表命一个最多可包括128个字符的并且可以在数据库中代替短名字的长名。TO FILE FileName如果命令中包括了 TO 子句,但没有包括 INTO 子句,则查询结果定向输出到名为FileName 的 ASCII 码文件、打印机或 Visual FoxPro 主窗口。ADDITIVE 把查询结果定向输出到由TO FILE FileName指定的文本文件的现存目录上。TO PRINTER [PROMPT] 使查询结果定向输出到打印机。在打印开始之前,使用可选的 PROMPT 子句显示一个对话框。您可以根据当前安装的打印机驱动程序调整打印机的设置。将 PROMPT 子句放置在紧跟 TO PRINTER 之后。TO SCREEN 使查询结果定向输出到 Visual FoxPro 主窗口或活动的用户自定义窗口中。PREFERENCE PreferenceName如果查询结果送往浏览窗口,就可以使用 PREFERENCE 保存浏览窗口的属性和选项以备后用。PREFERENCE 把特征属性或参数选项长期保存在 FOXUSER 的资源文件中,任何时侯都可以对它们进行检索。第一次执行有 PREFERENCE PreferenceName 的 SELECT 命令时创建参数选项。以后执行有相同参数选项名的 SELECT 命令时便将浏览窗口恢复到原来的参数选项状态。当浏览窗口关闭时,更新参数选项。如果您按下CTRL+Q+W 键退出“浏览”窗口,您对“浏览”窗口所做的更改不会保存到资源文件中。NOCONSOLE不显示送到文件、打印机或 Visual FoxPro 主窗口的查询结果。PLAIN防止列标题出现在显示的查询结果中。不管有无 TO 子句都可使用 PLAIN子句。如果 SELECT 语句中包括 INTO 子句,则忽略 PLAIN 子句。NOWAIT打开浏览窗口并将查询结果输出到这个窗口后继续程序的执行。程序并不等待关闭浏览窗口,而是立即执行紧接在 SELECT 语句后面的程序行。SELECT 命令中包括 TO SCREEN 可以把查询结果定向输出到 Visual FoxPro 主窗口或用户自定义窗口。如果显示时 Visual FoxPro 主窗口或用户自定义窗口中写满了一屏,就暂停输出。按任意键可以查看查询结果后面的内容。但是,如果命令中包括了NOWAIT 子句,显示查询结果时就不会暂停,等待按键,而是在 Visual FoxPro 主窗口或用户自定义窗口中连续滚过所有内容。如果命令中包含有 INTO 子句,忽略NOWAIT 子句。WHERE通知 Visual燜oxPro 在查询结果中仅包含一定数目的记录。如果要从多个表中检索数据,WHERE 子句是必需的。JoinCondition指定一个字段,该字段连接 FROM 子句中的表。如果查询中包括不止一个表,就应该为第一个表后的每一个表指定连接条件。连接多个查询条件必须使用操作符 AND。每个连接条件都有下面的形式:FieldName1 Comparison FieldName2其中 FieldName1 是一个表中的字段名,FieldName2 是另一表中的字段名,Comparison 是下表中列出的某一操作符。操作符比较关系=相等==完全相等LIKESQL LIKE<>, !=, #不相等>大于>=大于等于<小于<=小于等于对字符串使用 = 操作符时,所得结果与 SET ANSI 的设置有关。当 SET ANSI 设置为 OFF 时, Visual FoxPro 比较字符串的方式与 Xbase 的用户相同。当 SET ANSI 的设置为 ON 时, Visual FoxPro 比较字符串时遵守 ANSI 标准。有关 Visual FoxPro 字符比较方法的详细内容,请参阅 SET ANSI 和 SET EXACT 。WHERE子句支持ESCAPE操作符,允许执行对包含有SELECT ?SQL %和通配符的数据的有意义的查询。ESCAPE子句允许指定一个可以看作文字字符的SELECT ?SQL通配符。 ESCAPE子句允许指定一个字符,一旦它被放到通配符字符之前,就表示这个通配符被看作一个文字字符。FilterCondition指定将包含在查询结果中记录必须符合的条件。使用 AND 或 OR 操作符,您可以包含随意数目的过滤条件。您还可以使用 NOT 操作符将逻辑表达式的值取反,或使用 EMPTY() 函数以检查空字段。FilterCondition 可以是下面示例中的任何一种形式:示例 1事例1显示 FieldName1 Comparison FieldName窗体中的Fliter Conditioncustomer.cust_id = orders.cust_id示例 2事例1显示 FieldName Comparison Expression 窗体中的Fliter Conditionpayments.amount >= 1000示例 3事例3 显示 FieldName Comparison ALL (Subquery) 窗体中的Fliter Condition当筛选条件包括 ALL 时,只有指定字段满足所有子查询结果后,它所在的记录才能添加到查询结果中。company < ALL ;(SELECT company FROM customer WHERE country = 揢K")
Foxer 2003-01-22
  • 打赏
  • 举报
回复
SELECT - SQL可以把你SELECT 出来的记录都存在一个游标(CURSOR,可以看成有点特殊的表)或表(TABLE)中,怎么把表中闲时到窗体上——用Grid控件啊
yangtaoliang 2003-01-22
  • 打赏
  • 举报
回复
哈,谢谢大家,这样呀,哈,我开始在学校学的FOXBASE 2。0,学得还不错,一工作没时间接解编程的东西了,现在正开始学VFP,变化这么大,对了如果用SELECT 选出记录,怎么用vFOXPRO表球出来呀,比如SELECT * FORM TT WHERE A=“TT” 之后如果有三条记录,我做了一个窗体,怎么把三条记录显示到窗体上呀,用什么控件呀。
roman_y 2003-01-21
  • 打赏
  • 举报
回复
当然能,而且特别简单,最简单直接的方式请看你用向导建的查询,然后选择察看SQL,这样你就能很容易的指导如何用了
boomit 2003-01-21
  • 打赏
  • 举报
回复
有select-sql, insert-sql, delete-sql, creat-sql,update-sql,等等可以自己查一查帮助。。。
叶子哟 2003-01-21
  • 打赏
  • 举报
回复
看一下msdn或是vfp的帮助,有的是
aabiao 2003-01-21
  • 打赏
  • 举报
回复
搂住怎么了,这都是上个世纪的事了(当然了)
FOXPRO2.0开始就有了,现在是VFP8.0版。
不知你是从FOXBASE过来的(当中不会中断这么多年吧)、还是直接学VFP的(那也不应该不知VFP的SQL了)
qiangsheng 2003-01-20
  • 打赏
  • 举报
回复
除了用SQL语句它还能干其他事,很怀念DOS版里它做菜单的功能,很好用啊,比在C里自己写方便多了。
jin888888 2003-01-20
  • 打赏
  • 举报
回复
這哪里還有假.
不能用SQL语句﹐那還能算是開發工具﹐不過要看你如何用它了。
newfang 2003-01-20
  • 打赏
  • 举报
回复
真的很.
查询,动态建表,修改表记录等等.
比如你以前用locate或seek的时候,现在微可以用
select fieldname from tablename where 条件

2,749

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧