第13章 ADO数据控件与数据窗体向导
1.使用ADO数据控件建立数据源时,需要设置它的哪些属性,每个属性的作用是什么? 答:需要设置ADO数据控件的ConnectionString属性、CommandType属性和RecordSource
属性。ConnectionString属性用于建立与数据源的连接,CommandType属性指明命令的类型,即要访问的数据的来源。RecordSource属性用于设置ADO结果集的内容。
2.要使对ADO数据控件属性的设置生效,应该使用它的哪个方法。 答:应使用它的Refresh方法。
3.Recordset对象的BOF和EOF属性的作用是什么?
答:Recordset对象的BOF和EOF属性都是布尔值。当结果集中记录的当前行指针移到了
第一条记录的前边时,BOF为真,否则为假。当结果集中记录的当前行指针移到了最后一条记录的后边时,EOF为真,否则为假。因此,这两个属性用于判断结果集中的当前行指针是否移出了结果集范围。
4.Recordset对象的哪个属性可以得到结果集中的记录个数? 答:使用Recordset对象的RecordCount属性。
5.Recordset对象的Move方法组都包含哪些方法?每个方法的含义是什么?
答:RecordSet对象的Move方法组包含MoveFirst方法、MovePrevious方法、MoveNext方
法和MoveLast方法。MoveFirst方法的含义是将当前行记录指针移到结果集中的第一行。MovePrevious方法的含义是将当前行记录指针向前移动一行。MoveNext方法的含义是将当前行记录指针向后移动一行。MoveLast方法的含义是将当前行记录指针移到结果集中的最后一行。
6.如果要在数据库中插入一条新记录,应该使用Recordset对象的哪些方法实现?
答:如果要在数据库中插入一条新记录,应该首先使用AddNew方法,然后再Update方法,
或者对当前行记录指针作一个移动操作。使新插入的数据成为数据库中的永久记录。 7.Recordset对象的Update方法只能用于将更改后的记录保存到数据库中,这个说法对吗? 答:不对。Update方法不仅用于将更改后的记录保存到数据库中,而且还可以将新插入的记录保存到数据库中。
8.Recordset对象的CancelUpdate方法的作用是什么?
答:CancelUpdate方法用于取消新添加的记录或对当前记录所做的修改。
26
第14章ADO对象编程
1.ADO对象模型包括几个对象?每个对象的基本作用是什么?
答:ADO对象模型主要包括:Connection对象、Command对象、Recordset对象、Field对象、Parameter对象和Error对象。
Connection对象表示到数据库的连接;Command对象代表对数据源执行的命令;Recordset对象代表从数据提供者获取的数据记录集;Field对象表示记录集中数据的某个单独列;Parameter对象表示Commad对象的一个独立参数;Error对象记录数据操作过程中所发生的错误信息。
2.Connection对象用于连接数据源的属性是哪个? 答:ConnectionString。
3.Command对象的命令类型有几种?每种类型的值分别是什么? 答:Command对象的命令类型主要有四种,分别是:
? adCmdText,指定CommandText的内容是一个文本,即SQL语句。 ? adCmdTable,指定CommandText的内容是一个表名。
? adCmdStoredProc,指定CommandText的内容是一个存储过程名。 ? adCmdUnknown,默认值,表示命令类型未知。
4.Command对象的执行一定会产生结果集吗?执行什么样的语句才会产生结果集?其结果集保存在哪里?
答:不一定。只有在执行查询语句时才产生结果集,结果集放置在Recordset对象中。
5.Recordset对象的游标有几种类型?每种类型的特点是什么? 答:Recordset对象支持四种游标类型,分别为:
? 动态游标(adOpenDynamic),能够反映所有用户对数据的修改,支持记录集向前和向
后的记录移动操作。
? 静态游标(adOpenStatic),支持记录集向前和向后的操作,但不能反映其他用户对数据
的修改。
? 键集游标(adOpenKeyset),介于动态游标和静态游标之间。它不允许用户看到由其他
用户完成的对数据的增加和删除的记录,但可以看到其他用户更改的数据。
? 仅向前游标(adOpenForwardonly),默认值。仅支持记录集记录的向前移动操作,其他与静态游标类似。
6.利用Recordset对象的Filter属性对数据进行筛选时,Recordset对象中的记录内容会发生变化吗?若会发生变化能否还原到Recordset对象的原始数据内容?若可以的话,如何实现?
答:会变化。通过使用释放筛选的方法可以还原到原始内容,即使用语句:
Recordset对象名.Filter = adFilterNone
27