私はBDS 2006とPostgreSQL私のアプリケーションのために使用しています。
私はテーブル内の主キーの値を見つけるためのクエリで構成される次のコードを持っています。Delphi BDE PostgreSQLクエリの実行(構文エラー)
Query.SQL.Clear;
Query.SQL.Add('SELECT pg_attribute.attname,format_type(pg_attribute.atttypid, pg_attribute.atttypmod)FROM pg_index, pg_class, pg_attribute WHERE pg_class.oid = '+#39+'tablename'+#39+' ::regclass AND indrelid = pg_class.oid AND pg_attribute.attrelid = pg_class.oid AND pg_attribute.attnum = any(pg_index.indkey)AND indisprimary');
Query.Open;
私は構文エラーメッセージ
General SQL error.
ERROR: syntax error at or near ":";
を取得し、私は:
の代わりに#58
を使用してみましたが、同じ結果。
次のクエリはPostgreSQLの内部で正常に動作します。
私はそれがあなたの代わりにPostgreSQLの固有::
のCASTへの切り替えをしよう可能性が
あなたはsqlをQUERYに設定していますが、QUERY_DMP_RESでOPENを呼び出しています。何か不足していなければ、疲れています( – ComputerSaysNo
PostgreSQLについては何も知らないけど、あなたは ":"を使用します(パラメータを示すのに使用されます)。Query.ParamCheck:= False'を設定してみてください。 – kobik
@DorinDuminica、申し訳ありません。 – Shirish11