2011-12-06 24 views
2

我有3 TQueriesqy_master, qy_detail, qy_detail2,的qy_detail2主是qy_detail,的qy_detail主是qy_Master,所有查询都对应数据源,我放置查询在数据模块中,当数据模块创建我激活那些查询。EDBEngineError“表是只读的”

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

我也试过qy_detail.Active := True;此声明也引发错误,

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

请有人帮我解决这个问题。

回答

1

您是否设置了TQuery.RequestLive = true? RequestLive默认为False,强制查询总是以只读结果集的形式返回。

documentation

一个TQuery的可以返回2种结果集:何时 邮政呼叫发生时的“活”与TTable的 组件(用户可以编辑与数据控制数据和更改都发送到数据库),“只读”仅用于显示 的目的。要请求实时结果集,请将查询组件的 RequestLive属性设置为True ...