TADOQueryでINSERT処理をするには?

解決


やまやま  2005-02-04 09:55:55  No: 13038  IP: 192.*.*.*

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

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

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

編集 削除
通りすがり  2005-02-04 11:21:55  No: 13039  IP: 192.*.*.*

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

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

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

編集 削除
やまやま  2005-02-04 14:07:08  No: 13040  IP: 192.*.*.*

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

編集 削除
通りすがり  2005-02-04 14:18:50  No: 13041  IP: 192.*.*.*

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

編集 削除
やまやま  2005-02-04 15:19:45  No: 13042  IP: 192.*.*.*

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

編集 削除