0

dbfファイルからSQLサーバーにデータを転送する簡単なデルファイプログラムを構築しています。dbf ファイル自体には、データが .fpt ファイルに保存されるメモ フィールドが含まれています。ADOQueryで開こうとすると、次の行までスクロールダウンしようとすると、エラーメッセージが表示されました

マルチステップ操作でエラーが発生しました。各ステータス値を確認する

これは私の接続文字列とクエリ構文です

Provider=VFPOLEDB.1;Data Source=D:\LEARNING CENTER\DATSPP;Mode=Share Deny None;Extended Properties="";User ID="";Password="";Mask Password=False;Cache Authentication=False;Encrypt Password=False;Collating Sequence=MACHINE;DSN=""

select * from dpb.dbf

プログラムを実行していないときに dbgrid をスクロールしようとしても、このエラーが発生します。

誰かが私がどこで間違っているのか教えてもらえますか?

4

1 に答える 1

1

「マルチステップ」エラーは、1 つの原因による問題ではなく、考えられる膨大な数の原因から生じるより深い問題の一般化されたレポートです。これらの問題の原因は、関連するデータベースの種類とプロバイダーによって大きく異なります。

この状況では、問題を個別にテスト可能なステップに分割します。

まず、クエリを単純化します。メモではなく、単一の特定の列のみをグリッドに返すように変更します。それが機能する場合は、問題が発生するまで、クエリとグリッドに列を 1 つずつ追加し続けます。次に、問題の原因となっている列が何であるかに注目してください。

(まったく発生しない可能性があります。問題は、最初にselect *を使用したことが原因である可能性があります)

グリッドに列を 1 つも返すことができない場合は、グリッド自体を方程式から除外します。フィールドに値を返し、そのフィールドで一度に 1 レコードずつ結果をスクロールするだけです。

それが機能する場合は、グリッドの動作がどのように関与するかに焦点を当てることができます。

この問題は、グリッドとデータ ソースが結果セットをナビゲートしようとする方法が原因である可能性があります。他の考えられる原因を排除した場合は、クエリ結果全体をTClientDataSet (またはその他のメモリ内データセット) に取得する方法を調査できます。

それができれば、グリッドをそのメモリ内データセットにアタッチできます。

残念ながら、上記のいずれも特定の問題に対する答えであるとは限りませんが、うまくいけば、その答えを見つけるための軌道に乗ることができます.

于 2016-12-08T08:05:17.993 に答える