utf8 でエンコードされた xml ファイルのコンテンツを文字列パラメーターとして受け取る mydac ストアド プロシージャ コンポーネントを使用した Delphi アプリケーションがあります。このxmlコンテンツをコピーしてファイルからプロシージャに貼り付けると、navicatやその他のdb管理プログラムで動作します
CALL sp_saveit('<xml>garry's<otherdata> data data....</xml>);
しかし、デルファイから呼び出そうとすると、エラーがスローされます
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CALL sp_saveit('<?xml version=\"1.0\" encoding="UTF-8"?><Main><Detail z') at line 1
これらの手順に従っています:
- Delphi は LoadfromFile を使用してファイルの内容を検索し、TStringStream に読み込みます
MyStream.LoadFromFile(Sp_xmlfile);
- 次に、コンテンツをストアドプロシージャに渡しています
T_ContentsSP.ParamByName('XmlFile').AsWideString := MyStream.DataString;
また、このデータを Delphi の zlib で圧縮して blob として送信しようとしましたが'
、' で変更しようとしましたが、結果は同じでした。
Delphiでspのパラメータとして単一引用符と二重引用符を含む長い文字列を送信するにはどうすればよいですか?
ps : 私の英語でごめんなさい。