的结果并且它大多是以数据库的记录集的形式给出.一个记录集是由以行和域的形式表示的信息组成.它不一定非要映射成关系型数据库的记录.实际上如同我早些时候解释的那样ADO 是基于 OLE DB 并且能被用来可视化地访问任何数据源中的数据这数据源包括非关系型的数据库.记录集提供了缓冲能力它接受数据的变化并且将这些变化以批处理的方式传给服务器.你可以浏览并对记录集的内容分类如同列举和提取行.你也能通过如:删除添加和刷新操作等任何方式修改数据.记录集存在跟连接的严格的关系但是这不意味着你总是需要一个打开的连接来获得一个记录集.你也可以按如下方式进行:Dim RS As New ADODB.Recordsetsql quotselect from authorsquotRS.Open sql quotPubsquot既然 Connection 实际上是数据和命令传送的通道所以该对象仍然被创建了除了一个名字叫做Recordset.ActiveConnection 的属性外它是不可见的并工作在后台. Field 对象是一列同类的数据.它提供了一种这样的编程接口即能让你可以对单个单元的值以及基本的特征如:类型和大小进行读和写.所有给定记录集的Field 对象形成了一个 Field 集.如我将在后面向你说明的 Fields 集隐藏着一个引人注目的特性它将再次证明 Recordset 对象的灵活性.最后是 Property 对象.每个对象都有属性.提供的使用了 ADO 的对象可能是各种各样的.但不存在这样一套属性即包含了所有可能的 OLE DB 提供者的静态的属性.因此任何一个 ADO 对象都有静态和动态的属性.第一套属性集:包括 NameTypeValue 和 Attributes都可以通过如下的语法来访问:obj.PropertyName 最开始的三个属性都是自我说明性的.Attributes 是一种数字式的描述符它是以按位的跟提供者的能力有关的一些预定义的属性组合.它类似于 COM 服务器的组件分类.动态属性是跟潜在的提供者类型相应的.它们被归进 Properties 集合并可以通过名字查询.obj.PropertiesquotpropNamequotThe New Recordset Object 2.2 sql 介绍 通过 SQL 命令,程序设计师或数据库管理员(DBA)可以: (一)建立数据库的表格。
(包括设置表格所可以使用之空间) (二)改变数据库系统环境设置。
(三)针对某个数据库或表格,授予用户存取权限。
(四)对数据库表格建立索引值。
(五)修改数据库表格结构。
(新建、删除或是修改表格字段) (六)对数据库进行数据的新建。
(七)对数据库进行数据的删除。
(八)对数据库进行数据的修改。
(九)对数据库进行数据的查询。
这几项便是通过 SQL 命令可以完成的事情,看起来是不是比起“查询”两个 字所代表的功能要多的多了呢? SQL 语法的分类 其实 SQL 命令并不是非常多,可是要把 SQL 用到出神入化,却也只需要短短 几个命令便够,因为 SQL 命令是针对关系型数据库所建立出来的语法叙述,所以 SQL 在这类数据库中所发挥的功能非常的强,以下将针对在 VB 中常用的 SQL 语法基本命令加以分类介绍。
在说明 SQL 的命令以及使用语法之前,以下将 SQL做了的分类,在致上 SQL 语法所使用到的类型,可以说都已包含在这些类别当中。
第一类、属性词(Predicates) 在 SQL 命令中用来指明所要选择的记录的方式。
如 ALL、TOP 与 DISTINCT等等。
第二类、声明(Declaration) 针对 SQL Parameter 或 Parameter Query 的名称与数据类型做声明,如PARAMETERS 的声明等等。
第三类、条件子句(Clause) 在 SQL 的查询中,利用一些表达式定义出查询的条件,以缩小寻找的范围,如 WHERE。
第四类、运算符(Operator)与操作数(Operation) 在 SQL 的查询中,与 Operation 共同组成表达式(Expression),如BETWEEN....AND 运算符与 INNER JOIN 操作数。
第五类、函数(Function) 一些 SQL 常见的函数,像是 AVG是求算数平均数的函数。
第六类、SQL 语句(Statement) SQL 的语句,可以说是 SQL 语法的主体,用来对某一个特定的数据库发出指示,并返回相关的数据,而 SQL 的语法结构,基本上可以利用下面 的式子来表示:命令+条件子句 例如: SELECTFROM TAB WHERE TAB.NAMEA 其中的“FROM....WHERE”便是一个条件子句,其实 SQL 的语法并不难,您只需记住这样的一个规则,相信可以很快的了解 SQL 用法。
SQL 语法与命令 SELECT 语句 SELECTpredicatetable.table.field table.field2... AS alias1 alias2... FROM tableexpression ...IN externaldatabase WHERE... GROUP BY... HAVING... ORDER BY... WITH OWNERACCESS OPTION SELECT 语句包括下面几个部分 predicate 如前面所述,包括了 ALL,DISTINCTDISTINCTROW与 TOP 我们可以利用这样的语句去限制查询后所得的结果。
从指定表格中指定所有的字段。
table 针对被选择出的记录的字段,所指定表格的名称。
field1field2 想要读取数据的字段名称,如果包含了一个以上的字段,会依照列出的顺序来读取数据。
alias1alias2 用来替代在表格实际字段名称的化名。
tableexpression 表格名称或包含我们所想要的数据的表格。
externaldatabase 若使用到不是目前的数据库则将其名字定义在 externaldatabase 当中。
ALLDISTINCTDISTINCTROWTOP 属性词用法 SELECT ALLDISTINCTDISTINCTROWTOP nPERCENT FROM table ALL 则 若是不指定任何的字段数据, Microsoft Jet 数据库引擎(database engine)将会选择所有的字段,并依据所定的条件查询出需求数据集。
例如下面这两个例子将会具有相同的效果,都会从职员表格中返回所有字段的数 据。
例如: 若是我们要查询出职员表格中的所有记录,可以通过下面的语句来完成。
SELECT ALL FROM 职员表格 DISTINCT 对某个表格所选择的字段数据,略过重复的情况,也就是说,针对某个字段查询出来的记录结果是唯一的。
例如有许多存放在职员表格的职员 数据,也许会具有相同的姓名,所以若是我们用 SQL 语句中的 SELECT DISTINCT,则查询出来的结果将会针对不一样的姓名加以筛选。
若是您把 DISTINCT 加以省略,则这样的查询会显示所有的记录。
DISTINCTROW 将整条记录重复的记录忽略掉,而不是只有针对某一个字段的数据。
table 指定查询记录所需要的表格。
例如: SELECT DISTINCTROW 公司名称 FROM 顾客表格 INNER JOIN 订单表格 ON 顾客表格.顾客 ID=订单表格.顾客 ID ORDER BY 公司名称 如果您忽略 DISTINCTROW 则会对每个公司产生一行以下的订单数据。
此外,若是 DISTINCTROW 只有用在一个表格当中,则会被省略掉。
TOP 从第一条或最后一条开始(利用 ORDER BY 条件子句),返回特定条数的数据。
例如: 当您想要知道在 2000 年,班上前 25 名的学生姓名数据时,您可以输入这样的语句: SELECT TOP 25 学生姓名 FORM 学生表格 WHERE 毕业年份1994 ORDER BY 毕业成绩平均分数 DESC; 如果您没有加上 ORDER BY 这行条件的话,您所得到的数据,将会随机的数据。
此外,在 TOP 语句之后,除了可以加上数字以外,还可以利用保留 字 PERCENT 来查询。
例如: SELECT TOP 10 PERCENT 学生姓名 FROM 学生表格 WHERE 毕业年份1994 ORDER BY 毕业成绩平均 DESC; PARAMETERS(参数)声明的用法 对于参数型的查询语法中,对参数的名称以及数据类型作 声明的操作。
PARAMETERS name datatypename datatype... name PARAMETERS 的名称。
您可以把参数名称当作字符串来使用,若是名称中包含了空字符串,可以利用中括号来处理,例如:“VBeden”。
datatype 输入参数的数据类型。
例
上一篇:
网站投票系统
下一篇:
激励约束机制是企业健康发展的基础