TADOQueryでINSERT処理をするには?

解決


やまやま  2005-02-04 18:55:55  No: 13038

delphi2005を使っています。ADOでOracle9iと接続しました。
ADOQueryのSQLプロパティに直接INSERT文を書くと、うまくレコードを追加できるのですが、下のようにコードに書くと追加できません。

    ADOQuery.SQL.ADD('INSERT INTO テーブル名 VALUES("文字データ")');

実行すると’ここでは列は使えません’とoracleからエラーがでます。
同じ文を書いているだけなのになぜエラーがでるのか分かりません。
どなたか教えていただけますか?


通りすがり  2005-02-04 20:21:55  No: 13039

試してないのでなんですが、、、
INSERT INTO テーブル名 VALUES("文字データ")
と直接プロパティに書いても同様のエラーになる気がします。

コードで書くなら
ADOQuery.SQL.Add('INSERT INTO テーブル名 VALUES(''文字データ'')');
プロパティに直接書くなら
INSERT INTO テーブル名 VALUES('文字データ')
と思います。

間違ってたら、許してください。


やまやま  2005-02-04 23:07:08  No: 13040

発言ありがとうございます。
直接プロパティに書くと追加できました。
でもコードで同じ内容を書くと出来ないんです。
ADOQuery.SQL.Add('INSERT INTO テーブル名 VALUES(”文字データ”)');
と書いているのに。。。。。
「ここでは列は使用できません」とエラーがでてしまいます。
どうやら文字データのところでエラーが出ているようです。
文字の’あいう’をSQLで追加したいときはコードでは”あいう”と書けばいいんですよね??


通りすがり  2005-02-04 23:18:50  No: 13041

”あいう”   ではなくて
''あいう''   です
^^^^^^^^^^をメモ帳にでもコピペしてみると違いがわかると思います。


やまやま  2005-02-05 00:19:45  No: 13042

なりました!!
ずっと気が付かず、困っていました。うっかりしてました。
本当にありがとうございました!


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

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






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