TQuery
BDEを介してInterbaseに接続されている多くの場所でこのエラーが発生します。正確なメッセージは次のとおりです。
一般的なSQLエラー。動的SQLエラー、SQLエラーコード= -804、SQLDAがないか、バージョンが正しくないか、変数の数/タイプが正しくありません。
このメッセージは、デザイン時にを開いたり編集したりしようとするとすぐにTQuery
、または実行時に投稿が行われたときに表示されます。実行時の投稿アクションについては、投稿の前にテーブルを準備すると、投稿が適切に行われることがわかりました。
同じエラーについてCraigStunzのウェブログを読みました。私が持っているパラメータはすべて整数です。データベースは小さく、Interbase 2009であり、エラーメッセージを表示するクエリに特定のパターンは見られません(選択、削除、更新などが可能です)。Delphiからクエリを実行することは問題ありません。
テーブルのデータ型は数値(15,2)です。
テーブルは、Interbaseバージョン5-方言1からInterbase2009にバックアップ/復元されています。
実際のODSは13.1(Interbase 9)です。
UDFはありません。
何が悪いのか分かりますか?
[アップデート]
エラーが表示されない/エラーが表示されるクエリのサンプル:
エラーなし:
select MASTER_ID, GL_ACCT_DR, GL_ACCT_CR,
VENDOR_ID, VENDOR_CODE,
ORDER_NO, ORDER_DATE, INVOICE_NO, INVOICE_DATE,
DESCRIP, BUYER, SHIP_VIA, FOB, IS_FREIGHT_PREPAID,
IS_TAXABLE, TERMS_ID, TERMS_CODE,
DISC_DAYS_OR_DATE, DISCOUNT_PCT, NET_DAYS_OR_DATE,
BILL_TO_LOC_ID, SHIP_TO_LOC_ID,
BILL_TO_LOC_CODE, SHIP_TO_LOC_CODE,
DISCOUNT_DATE, DUE_DATE
from P_JRNTRN where
ENTITY_DB_ID = :PRIMARY_DB_ID and
SRC_MODULE = 'PJ'
order by INVOICE_NO
パラメータは整数です。
エラー:
select * from P_JRNTRN where
BATCH_ID = :BATCH_ID
order by MASTER_ID
パラメータは整数です。
[更新]...この問題を解決できなかったため、BDEの代わりにIBDACに移動しました。これ以上エラーは発生しません。ありがとうございます。