2

私は3つ持っていますTQueriesqy_master, qy_detail, qy_detail2、master of qy_detail2is qy_detail、master of qy_detailis qy_Master、すべてのクエリには対応するデータソースがあり、datamoduleにクエリを配置し、datamodulecreate時にそれらのクエリをアクティブにします。

別の形式では、これらのクエリを使用しました。試し'qy_detail.open'てみると'EDbengine error : Tables is read-only'、開いても問題qy_detailはありません。SQLステートメントは変更しませんが、このエラーが発生する理由はわかりません。

私も試してみましたqy_detail.Active := True; このステートメントもエラーを発生させます、

BDEおよびODBCデータソースを介して接続されたSQLServer2005を使用しました。

誰かが私がこれを修正するのを手伝ってください。

4

1 に答える 1

1

TQuery.RequestLive = true を設定しましたか? RequestLive はデフォルトで False であり、クエリは常に読み取り専用の結果セットとして返されます。

ドキュメントから:

TQuery は 2 種類の結果セットを返すことができます: TTable コンポーネントと同様の「ライブ」(ユーザーはデータ コントロールを使用してデータを編集でき、Post の呼び出しが発生すると変更がデータベースに送信される) と、表示目的のみの「読み取り専用」です。ライブ結果セットをリクエストするには、クエリ コンポーネントの RequestLive プロパティを True に設定します...

于 2011-12-06T08:08:08.023 に答える