Access爱好者--
所属分类: 精选教程 作者: 共享 更新日期:2003-10-17 18:47:38 阅读次数:633

MS Jet SQL for Access 2000中级篇 (I)


简介
该系列的文章解释了什么是Microsoft® Jet SQL,并说明了它如何在Access 2000的应用程序中使用。本文是基础、中级和高级三篇中的第二篇。这些文章循序渐进的说明了使用Jet SQL的语法和一些方法,并示范了对于Access 2000来说较新的Jet SQL的特征。最后,本文的所有SQL参考都是针对Microsoft Jet 4.0 数据引擎所用的。

中级SQL说明
通过了解中级结构化查询语言的一些概念,用户可以增强控制数据库的结构和对象的能力,并且可以通过许多有趣的和强有力的途径操纵这些机构中包含的数据。结合使用诸如DAO和ADO之类的数据访问方法,中级SQL 可以很大程度的提高用户应用程序的灵活性及其表现。

基础、中级和高级SQL的不同点
在基础、中级和高级SQL之间划分一条明显的界限并不是一件容易的事情,在很多情况下,决定其所属都只是简单的决断。但是对于该系列在Access 2000中使用SQL的文章来说,还考虑了如下的一些方面:

首先一点在于SQL语句本身的复杂级别。在前面的文章中,我们努力使用那些常用的语句,而且是最简单的形式。本文则在前面基础篇的基础上介绍了更复杂的语句。
其次是在Access 2000中已经包含了一些新的SQL语句、子句和关键词。尽管在本文中仍将使用Access上一版本中所包含的SQL语句,但是一定会出现一些在Access中第一次出现的SQL语句,在高级SQL一文中也是如此。
最后,那些关于安全性和多用户解决方案的SQL语句将在高级篇中介绍,因为这些语句常常是用于更复杂的应用程序中的
通过使用中级SQL,用户可以为你的Access应用程序增加更强的灵活性和能力。尽管简单的和直接的SQL语句能够完成很多的事情,但是使用更复杂的语句将扩展在数据库中访问和处理信息的方法范围。使用中级SQL也将使得用户可以更好的控制你的数据库使用和维护工作


增强SQL
在Access 2000中,为了支持Access的新特性,为了和ANSI-92的标准更加一致,并且允许在Access 和 Microsoft® SQL Server™间的更好的兼容性,包含在Microsoft Jet 4.0数据引擎中的SQL作了许多增强。Jet数据引擎现在有两种格式的SQL语法:一种是支持以前使用的SQL语法,另一种是支持新的SQL语法规范。需要格外注意的是,只有在用户使用ActiveX® Data Objects (ADO)和Jet OLE DB provider时新的语法才是可用的,而当前通过Access SQL View接口或者DAO是无法使用新的语法的。本文指出只有通过Jet OLE DB provider 和 ADO才能够使用某个特定的SQL命令。

在Access的上一版本中,数据访问对象(DAO)是主要的数据访问方法。而现在发生了改变,尽管DAO 仍旧被支持,但新的数据访问方法是使用ADO。ADO是微软的通用数据访问战略(Microsofts Universal Data Access strategy)的一部分,其最基本的假设是无论数据存在那里都是可以访问的,不管是数据库、目录结构还是某重用户自定义的数据库。

在讨论Microsoft Jet SQL 时,ADO是非常重要的,正如在前面提到的,一些新的SQL语句只有在使用ADO 和Jet OLE DB provider时才是可用的。在本文和与本文相配套的示范数据库中,所有的代码都是使用ADO些的。那些没有特意指明为只有通过ADO才可用的SQL语句都可以通过Access SQL View 用户接口或 DAO来执行。详尽的关于ADO的讨论超出了本文的范围,用户可以在下面的网站中找到最近的信息

SQL代码规范
本文使用一致性的SQL代码规范。与所有的代码规范相同,目的是使用易读和易于理解的方式来显示代码。这就要通过空格、换行和大写关键字的结合使用来实现。通常来说,要使用大写字母来打印SQL的关键字,如果SQL语句必须换行,尽量使SQL语句的主要部分一起换行。看过一些例子之后,相信读者会对此有较好的感觉。

不合格式的SQL代码
CREATE TABLE tblCustomers (CustomerID INTEGER NOT NULL, [Last Name] TEXT(50) NOT NULL, [First Name] TEXT(50) NOT NULL, Phone TEXT(10), Email TEXT(50))

良好格式的SQL代码

CREATE TABLE tblCustomers (
...CustomerID INTEGER NOT NULL,
...[Last Name] TEXT(5) NOT NULL,
...[First Name] TEXT(50) NOT NULL,
...Phone TEXT(10),
...Email TEXT(50))

--------------------------------------------------------------------------------
相关文章

如何能通过窗体访问表,但不能直接读取表? 2004-8-27 21:58:17
数据库设计中的敏捷方法 2004-2-9 11:19:16
调用outlook生成并发送邮件的代码 2004-1-30 10:32:07
SQL SERVER基本概念学习印象 2004-1-1 21:23:13
一组SQL Server身份验证管理子程序 2003-12-31 16:29:54
Access 数据库和 Access 项目之间的数据类型的比较或映射 2003-12-26 14:20:19
大型数据库设计原则 2003-12-15 12:49:18
ERwin--简化的数据库设计工具 2003-12-15 12:41:40
ERwin软件简介 2003-12-15 12:39:55
经典子查询应用 2003-11-17 8:54:51
了解 Microsoft Access 安全性 2003-11-13 11:21:08
不当编写SQL语句导致系统不安全 2003-11-13 10:55:26
避免Access和SQL Server的空值冲突 2003-10-17 20:03:19
表达式生成器中的几种常用符号 2003-10-17 19:55:56
创建完美报表 2003-10-17 19:37:17
SQL 语法参考手册 2003-10-17 19:12:40
SQL SERVER 与ACCESS、EXCEL的数据转换 2003-10-17 19:12:00
存储过程入门 2003-10-17 19:06:48
MS Jet SQL for Access 2000中级篇(IV) 2003-10-17 18:52:20
MS Jet SQL for Access 2000中级篇 (III) 2003-10-17 18:51:47
MS Jet SQL for Access 2000中级篇 (II) 2003-10-17 18:51:01
使用ADO连接到防火墙后的SQL Server 2003-10-17 18:43:57
ADO连接数据库字符串大全 2003-10-17 18:40:47
ADO三大对象的属性、方法、事件及常数(二) 2003-10-14 8:45:33
ADO三大对象的属性、方法、事件及常数(三) 2003-10-14 8:44:20
ADO三大对象的属性、方法、事件及常数(一) 2003-10-14 8:43:26
ACCESS数据访问页配置实例 2003-10-14 8:36:00
提升前后台模式程序的速度 2003-10-10 10:17:08
Access启动命令行选项大全 2003-10-10 10:02:00
一个简单的Ado用法示例 2003-10-6 16:24:38
Access 2002 中的名称自动更正说明 2003-10-6 15:16:24
数据库应用程序需注意的问题 2003-10-6 11:11:06


系统优化
控件使用
数据库设计
数据库连接
系统安全
OLE自动化
常见问题
实用代码
属性详解
网络相关
实用API
经验分享
精选教程
字符处理
ADP相关



文章搜索



制作维护:李寻欢     Mail:[email protected]

关于本站 -- 网站服务 -- 版权条款 -- 联系方法 -- 网站帮助
Access爱好者版权所有 Copyright 2003-2005 All Rights Reserved 未经许可不得盗链