山东湖北银行旅游贷款:简单的数据库问题?

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/29 11:11:37
adodc1.recordsource=sql,
也就是将sql语句赋值于adodc1.recordsource有什么用呀?

recordsource看名字意思就是记录的来源。它是VB语言的DATA控件里的一个属性。
adodc1.recordsource=sql 的作用是设置一个返回记录的SQL语句。执行后的结果是通过SQL查询操作后,全部的字段和记录都能在adodc1显示出来。

RecordSource属性指定通过窗体上的被绑定的控件访问的记录的来源。

如果将 RecordSource 属性设置为数据库中的一个存在的表的名称,则那张表中的所有字段对附属于Data控件的被绑定的控件都是可见的。对于表类型的记录集(RecordsetType = vbRSTypeTable),被检索的记录的顺序由 Recordset 的 Index 属性选择的 Index 对象来决定。对于 dynaset 类型和快照类型的 Recordset 对象,可以通过在 Data 控件的 Recordset 属性中使用带有 Order By 子句的 SQL 语句的方法来对记录排序。否则,不以特别的顺序返回数据。

如果将 RecordSource 顺序设置为数据库中一个存在的 QueryDef 的名称,则由 QueryDef 返回的所有字段对附属于 Data 控件的被绑定的控件都是可见的。被检索的记录的顺序由 QueryDef 对象的查询设置。例如,QueryDef 可以包含一个 ORDER BY 子句来改变由 Recordset 返回的由 Data 控件创建的记录的顺序,或者包含一个 WHERE 子句来过滤记录。如果 QueryDef yDef 不指明顺序, 将不以特别的顺序返回数据。

注意 在设计时,显示在 RecordSource 属性的“属性”窗口中的 QueryDef 对象被过滤,从而只显示 Data 控件可使用的 QueryDef 对象。具有参数的 QueryDef 对象,以及具有如下类型的 QueryDef 对象不被显示:dbQAction、dbQCrosstab、dbQSQLPassThrough 和 dbQSetOperation。

如果将 RecordSource 属性设置为一个返回记录的 SQL 语句,则该 SQL 查询返回的所有字段对附属于 Data 控件的被绑定的控件都是可见的。此语句可以包含一个 ORDER BY 子句来改变由 Data 控件创建的 Recordset 返回的记录的顺序,或者包含一个WHERE子句来过滤记录。如果在 Database 和 Connect 属性中指定的数据库不是 Microsoft Jet 引擎数据库,而且 dbSQLPassThrough 选项在 Options 属性中被设置,则 SQL 查询必须使用该数据库引擎所要求的语法。

注意 每当 QueryDef 或 SQL 语句从一个表达式返回一个值时,该表达式的字段名称由 Microsoft Jet 数据库引擎自动地创建。一般地,该名称为 Expr1 后跟一个从 000 开始的三个字符的数字。例如,第一个表达式将被命名为:Expr1000。

在大多数情况下,需要为表达式指定别名,从而知道绑定到被绑定的控件上的列的名称。关于更多的信息,请参阅 SQL SELECT 语句的 AS 子句。

当在运行时改变 RecordSource 属性的值后,必须使用 Refresh 方法使改变生效,并重建 Recordset。

在运行时,如果 Recordset 指定了一个非法的 Table 名称、QueryDef 名称,或者包含了非法的 SQL 语法,则产生一个可捕获的错误。如果此错误在初始的 Form_Load 过程中发生,则该错误是不可捕获的。

注意 请保证每个被绑定的控件都对其 DataField 属性具有合法设置。如果改变了 Data 控件的 RecordSource 属性的设置并随后使用 Refresh,则 Recordset 标识新对象。这可能使被绑定的控件的 DataField 设置失效,并导致一个可捕获的错误。

数据类型