3

SQLクエリを実行するための正しい手順に苦労しています。

基本的に、ユーザーがSQLコードを入力すると、プログラムがそれを実行するテキストフィールドがあります。残念ながら、データセットが返されるかどうかわからないため、使用する関数ADOQuery.OpenまたはADOQuery.ExecSQLがわかりません。

しかし、結果が返される場合は、いくつかの計算を行う必要があります。

クエリが何らかの結果を返すかどうか、またはそれがUPDATEのみであるかどうかを予測する方法はありますか...この状況を処理する方法はありますか?

4

3 に答える 3

4

TADOQuery、TADOTable、TADOStoredProcを忘れてください。これらは、対応するものを使用したBDEを使用するアプリケーションからの移植を容易にするように設計されたコンポーネントです。あなたの状況では、TADOCommandを使用でき、そのExecute()メソッドは必要に応じてrecorsetを返し、Execute()の戻り値をRecordSetプロパティに割り当てるTADODatasetを介してそれにアクセスできます。

于 2011-04-18T17:10:07.413 に答える
0

クエリテキストを完全に解析して分析しないと、確実に判断することはできません

ただし、コマンドを返さない場合のように、毎回使用できます(場合によっては使用する必要があります)空の結果セットが返されます。これは、またはより低レベルのプロパティを介して簡単に検出できます。ADOQuery.Open TADOQuery.Bof and TADOQuery.EofTADOQuery.Recordset

于 2011-04-18T16:55:21.273 に答える
0

最良の方法は、クエリを実行する前に分析することです。このオープンソースソフトウェアの「ハウツー」の例があります。

于 2011-04-18T18:52:10.337 に答える