100分:关于ADODC的几个问题
问题一:Adodc1.RecordSource = sql
Adodc1.Recordset.Requery 此处出错 错误提示是:对象变量或WITH块变量未设置 换成 Adodc1.Refresh 可正常运行为什么?
问题二:
adodc和recordset的区别是什么? 问题一:
Adodc1.Recordset 还没有打开(建立),后面的操作当然出错。
问题二:
adodc管数据库连接,recordset管数据库中的表、查询。
1)Refresh 是根据 sql 新做查询,这时会创建 RecordSet 对象。
而你没经过 Refresh,RecordSet 属性还是 Nothing,当然不能调用 Requery 了。
2)RecordSet 好比麦当劳,ADODC 好比麦乐送。
后者做前者的代理,提供一定的方便的同时,也会有些限制。 纯mark
Adodc1.Refresh用于打开数据库
If 这楼给分 Then
楼主木有小JJ
End If
Adodc1.Recordset.Requery原数据源重新查询,也就只有用Refresh打开的,才可以用这个方法。
--------------------------------------
Requery 方法
通过重新执行对象所基于的查询,更新 Recordset 对象中的数据。
语法
recordset.Requery Options
参数
Options 可选。指示影响该操作选项的位屏蔽。如果该参数设置为 adAsyncExecute,则该操作将异步执行并在它结束时产生 RecordsetChangeComplete 事件。
说明
通过重新发出原始命令并再次检索数据,可使用 Requery 方法刷新来自数据源的 Recordset 对象的全部内容。调用该方法等于相继调用 Close 和 Open 方法。如果正在编辑当前记录或者添加新记录将产生错误。
在 Recordset 对象打开期间,定义游标性质(CursorType、LockType、MaxRecords 等)的属性为只读,因此 Requery 方法只能刷新当前游标。要更改某个游标属性并查看结果,必须使用 Close 方法使属性再次成为读/写。然后可以更改属性设置并且调用 Open 方法重新打开游标。
ADO Data 控件
Microsoft ActiveX 数据对象(ADO) 来快速建立数据绑定的控件和数据提供者之间的连接。数据绑定控件是任何具有“数据源”属性的控件。数据提供者可以是任何符合 OLEDB 规范的数据源。使用 Visual Basic 的类模块也可以很方便地创建子集的数据提供者。
Recordset 属性(ADO Data 控件)
返回或设置对下一级 ADO Recordset 对象的引用。
adodc1的refresh 和 recordset的requery有什么区别
Adodc1.Refresh用于打开数据库并对数据源里的SQL语句进行查询。
Adodc1.Recordset.Requery原数据源SQL语句重新查询,也就只有用Refresh打开的,才可以用这个方法。
请问这个Refresh和Recordset.Requery中用到的SQL语句是相同的吗?还是有区别。
相同
应该说Recordset.Requery中用到的SQL语句是用Refresh打开数据源时用到的sql语句,即用原SQL语句重新查询。
补充:VB , 基础类