《Visual FoxPro编程》自学方法指导
来源: 发布时间:2006-5-29 16:59:52 点击:
 
  SQL中最重要的是SELECT语句,该语句含有丰富的可选项,充分利用它们,可以创建一个非常令人满意的查询。不过该语句看起来很复杂,好多个可选项不容易记忆,我可以从最
基本的记起。
  (1)SELECT * FROM <表名>
  FROM <表名>是不可少的关键字,指明了源数据表。*代表“所有”字段,该语句的功能是从指定的数据表中取得所有记录的所有字段。若要从指定数据表中取部分字段,可将此处
的“*”换作需要的字段。例如,要从“员工档案”表中取“员工编号”、“姓名”、“性别”三个字段,即可使用下面的语句:
  SELECT 员工编号,姓名,性别 FROM 员工档案
  若要想查询结果中不存在重复记录,则可在“SELECT *”后加“DISTINCT”参数。
  (2)SELECT * FROM <表名> WHERE <条件表达式>
如果要从数据表中取符合一定条件的记录,则应加上可选项WHERE <条件表达式>。该语句的功能是在指定的数据表中取符合能使“条件表达式”成立的记录。在WHERE子句中可使
用以下一些搜索条件:
  ①比较运算符(=、<>、<、>、>=、<=、!>、!<)。
  ②范围(BETWEEN、NOT BETWEEN)。
  ③列表(IN、NOT IN)。
  ④样式匹配(LIKE 、NOT LIKE)。
  ⑤未知的值(IS NULL、IS NOT NULL)。
  ⑥条件的组合(AND、OR)。
  值的注意的是在创建“条件表达式”时,不能将不同类型的字段或变量进行比较,否则会出现错误。例如,在“员工档案”表中,“姓名”字段是字符型,现在要取“员工档案”表
中“姓名”等于“张三”的记录,可以使用以下语句:
  SELECT * FROM 员工档案 WHERE 姓名="张三"
  此处,若“张三”不加引号,将会出现类型不搭配的错误。
  (3)SELECT 表名1.*,表名2.* FROM <表名1>,<表名2> WHERE <条件表达式>
  若要在不同的数据表中取字段,可在字段名前加上表的别名或区域别名。例如,要取“员工档案”表和“正式员工工资”表中的所有记录,可以使用如下语句:
  SELECT 员工档案.*,正式员工工资.* FROM 员工档案,正式员工工资
  (4)SELECT * FROM <表名> WHERE <条件表达式> INTO <目的地>
  若要将查询结果输出到目的地,则增加INTO可选项。例如,要将所查询的结果输出到一个临时表temp中,可使用如下语句:
  SELECT * FROM 员工档案 INTO CURSOR temp
  注意,此处的CURSOR参数是不可少的。
  9.视图
  中文Visual FoxPro 6.0提供的视图,实质上是一个虚拟的数据表。视图通过一定的连接关系和设定的记录筛选条件,将数据表或数据库的数据集合到一起。这样可以方便地进行查询、数据更新、多数据表间的数据连接等操作。
  视图可以通过视图设计器创建,或在命令窗口用CREAT SQL VIEW命令建立。
  在应用中,当对视图添加、修改或删除记录时,若希望将这些已变动的信息反映到相应的数据表中去,即更新数据源,就必须仔细设计视图设计器中更新条件页中的各项内容。需
注意:
  (1)设置关键字段
  要设计一个可更新数据源的本地视图,必须给本地视图指定一个关键字段。在更新数据源时,该关键字段将作为比较本地视记录与数据源中记录的依据。
  (2)指定可更新字段
  只有被指定为可更新字段名后,该字段才可更新数据源中对应的字段。没有指定为可更新字段的字段为只读字段,即使改变了视图中只读字段的值,它们也不能对数据源进行更新。
  (3)选中更新条件页中的“发送SQL更新”复选框当选中它后,才可将被更新的记录字段采用Update SQL语句对数据源中的表进行更新。

 

本新闻共2页,当前在第2页  1  2