我有3个TQueries
:qy_master, qy_detail, qy_detail2
,qy_detail2
的主人是qy_detail
,qy_detail
的主人是qy_Master
,所有查询都有相应的数据源,我在datamodule中放置了查询,当datamodule创建时我激活了这些查询。
在另一种形式中我使用了这些查询,在尝试'qy_detail.open'
时它显示'EDbengine error : Tables is read-only'
但在打开qy_detail
时没问题,我不修改SQL语句,但我不知道为什么会发生这种错误。
我也试过qy_detail.Active := True
;这句话也引起了错误,
我使用通过BDE和ODBC数据源连接的SQL Server 2005。
请有人帮我解决这个问题。
答案 0 :(得分:1)
你设置TQuery.RequestLive = true吗?默认情况下,RequestLive为False,强制查询始终作为只读结果集返回。
TQuery可以返回两种结果集:与TTable一样“live” 组件(用户可以使用数据控件编辑数据,以及调用时 发生更改后发送到数据库),“只读”显示 目的而已。要请求实时结果集,请设置查询组件 RequestLive属性为True ...