2

我有 3 TQueries: qy_master, qy_detail, qy_detail2, master of qy_detail2is qy_detail, master of qy_detailis qy_Master,所有查询都有相应的数据源,我将查询放在数据模块中,当数据模块创建时我激活了这些查询。

在另一种形式中,我使用了这些查询,尝试'qy_detail.open'时说'EDbengine error : Tables is read-only'但打开时没有问题qy_detail,我不修改 SQL 语句,但我不知道为什么会发生此错误。

我也试过了qy_detail.Active := True;该语句也会引发错误,

我使用通过 BDE 和 ODBC 数据源连接的 SQL Server 2005。

请任何人帮我解决这个问题。

4

1 回答 1

1

你设置了 TQuery.RequestLive = true 吗?RequestLive 默认为 False,强制查询始终作为只读结果集返回。

文档

TQuery 可以返回两种结果集:“实时”与 TTable 组件一样(用户可以使用数据控件编辑数据,当调用 Post 时将更改发送到数据库),“只读”仅用于显示目的。要请求实时结果集,请将查询组件的 RequestLive 属性设置为 True...

于 2011-12-06T08:08:08.023 回答