sql >> データベース >  >> RDS >> Sqlserver

TFDQuery.Prepareは、MSSQLSERVERでのINSERTクエリのパラメータータイプを判別できません。

    ここでヘルプに従い、準備<を呼び出さないようにします。 / strong> パラメータが定義される前(それらのデータ型は完全に指定されています)。ヘルプからのこのメモ以外は見逃していません:

    一般的なODBCドライバーの場合(内部でOLE DBを使用してDBMSと通信するかどうかに関係なく、まだODBCドライバーと通信しています)、FireDACは準備されたコマンドのパラメーターデータ型を決定しません。代わりに、ターゲットDBMSでコマンドステートメントを準備し、パラム コレクション。これが、準備の方法です。 メソッドが実装されています(東京)。

    ODBC APIは、を提供します。 SQLDescribeParam 準備されたコマンドのパラメータの詳細を取得する関数ですが、FireDACはそれをどこにも使用しません(現時点では)。代わりに、パラメータコレクションの構築を手動で行います。最終的に、この値のタイプを知るために特定のコマンドパラメータに割り当てる値を知る必要があるのは開発者であるため、これは間違いではありません。



    1. データベースの作成を解釈するときのOracleとMysqlの違いは何ですか?

    2. データベース列のビットフラグに不利な点はありますか?

    3. MySQL削除ステートメントの最適化

    4. OracleStoredProcを別のユーザーとして実行する