SQL文の表示について


Delphi初心者  2008-09-18 08:15:21  No: 31961

Delphi超初心者です。
Delphi2006を使っています。

ソースの中にSQLを埋め込みたいのですが、
コーテーションに引っかかり、正しい値が出ません。
とても初歩的な質問になってしまい大変申しわけないのですが、
お分かりの方がいらっしゃいましたら、宜しくお願い致します。

str_sql:= 'INSERT INTO A VALUES ('''+Trim(int_B)+''','+
          ''B.C.CodeList[B.C.ItemIndex]','+
          ''B.C.CodeStr[B.C.ItemIndex]','+
          ''''+Trim(edt_D)+''','+
          ''''+Trim(edt_E)+''','+
          'sysdate, sysdate)';

ちなみにint_Bはinteger型のワークになっています。
よろしくお願い致します。


igy  2008-09-18 09:01:52  No: 31962

>         ''B.C.CodeList[B.C.ItemIndex]','+
>         ''B.C.CodeStr[B.C.ItemIndex]','+

もしかしたら、

         '''' + B.C.CodeList[B.C.ItemIndex] + ''','+
         '''' + B.C.CodeStr[B.C.ItemIndex]  + ''','+

ですか?


GTR  2008-09-19 01:08:17  No: 31963

'がついた文字列を追加したい場合QuotedStr()を使用すれば
良いと思います。

str_sql:= 'INSERT INTO A VALUES (QuotedStr(Trim(int_B))+','+
          QuotedStr(B.C.CodeList[B.C.ItemIndex])+','+
          QuotedStr(B.C.CodeStr[B.C.ItemIndex])+','+
          QuotedStr(Trim(edt_D)+','+
          QuotedStr(Trim(edt_E)+','+
          'sysdate, sysdate)';


igy  2008-09-19 01:43:32  No: 31964

>QuotedStr()を使用すれば良いと思います。

この関数のほかに、
マルチバイト文字セットを扱う場合には、
AnsiQuotedStr 関数もあります。


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

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






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