「Parameterオブジェクトが適切に定義されていません」について

解決


あーちゃん  2020-08-27 16:04:35  No: 149049

こんにちは。
以下のコードを流したところ
「Parameterオブジェクトが適切に定義されていません。矛盾した、または不完全な情報が提供されました。」
というエラーが発生します。
何が原因なのでしょうか。
お手数をおかけしますが
お助けお願いします。

Windows 10 PRO
Delphi 10.1 Berlin ent update2
*****************************************

            with ADOCommand1 do
            begin
              CommandText := 'INSERT INTO TM_TEST '
                           + '(HINBAN, SEIBAN,  U_DATE) '
                           + 'VALUES (:IN_HINBAN, :IN_SEIBAN, :IN_U_DATE)';
              CommandType := cmdText;
              Parameters.ParamByName('IN_HINBAN').Value     := Trim(DataSourceS1.DataSet.Fields[0].AsString);
              Parameters.ParamByName('IN_SEIBAN').Value     := Trim(DataSourceS1.DataSet.Fields[1].AsString);
              Parameters.ParamByName('IN_U_DATE').Value     := DATE;
              Execute;      << ここでエラーが発生します。

              CommandText := 'COMMIT';
              CommandType := cmdText;
              Execute;
            end;


take  2020-08-27 16:44:11  No: 149050

Parametersに代入している右辺の値がわからないので
試しにその値を直接指定  := 'ほげほげ' など設定して
それでエラーにならないなら右辺の変数値に問題が(文字列内に "が含まれるなど)
出るなら別の問題かと思います。


igy  2020-08-27 18:32:51  No: 149051

> CommandType := cmdText; 
の次の行に
              Parameters.ParamByName('IN_HINBAN').DataType := ftWideString;
              Parameters.ParamByName('IN_SEIBAN').DataType := ftWideString;
              Parameters.ParamByName('IN_U_DATE').DataType := ftDate;
を追加しても、エラーが出ますか?


あーちゃん  2020-08-28 10:56:02  No: 149052

takeさん、igyさん ご指導ありがとうございます。
お陰様で解決しました。
今後ともよろしkお願いいたします。


※返信する前に利用規約をご確認ください。








  このエントリーをはてなブックマークに追加