0

ページごとにデータベースからいくつかの演習をクエリしています。ページ情報は演習の説明に含まれています。したがって、ExerciseDescription は次のようになります。

p. 72. do this and that...
p.72. do this and the other thing...
p. 70. this is yet another exercise...

そのため、p 間のスペースの不足に対応します。クエリの実際の数は次のようになります。

dbExerRecordSet.Filter = "ChapterID=100196 AND ExerciseType='School' AND (ExerciseDescription LIKE 'p. 72*' OR ExerciseDescription LIKE 'p.72*')"

しかし、私はこのエラーが発生しました:

ADODB.Recordset<br/><b>Description:</b> Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another

だから私はドット文字に何か問題があると思ったので、クエリを次のように変換しました:

dbExerRecordSet.Filter = "ChapterID=100196 AND ExerciseType='School' AND (ExerciseDescription LIKE 'p[.] 72*' OR ExerciseDescription LIKE 'p[.]72*')"

しかし、私はまだ同じエラーが発生します。これは奇妙です。OR とその後のすべてを削除しても、エラーは発生しません。OR を AND に変更すると、エラーは発生しません (もちろん、エクササイズも見つかりません)。

何が起こっている?

前もって感謝します。

編集

dbExerRecordSet.Filter = "ChapterID=100196 AND ExerciseType='School' AND (ExerciseDescription LIKE 'p[.]*72*')"

上記はエラーをスローしませんが、72 ページの 2 つの演習も見つかりません。

edit2 : アスタリスクの問題ではありません。私はそれを % に交換しましたが、まったく同じことをします

4

1 に答える 1

0

ADO は、ワイルドカード文字に%notを使用します。*LIKE

于 2013-11-07T10:13:00.990 に答える