こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

ORA-00984のエラーが出ます

C#でSQL(オラクル)に接続しています。
このinsert文を実行すると「ORA-00984: ここでは列は使用できません。」がでます。

実行した文はこれです↓
"insert into kanri2 values('aaa'," + dateTimePicker1.Text + "," + checkedListBox1.CheckedItems +","+ checkedListBox6.CheckedItems +")";

よろしくお願いします

投稿日時 - 2011-01-18 10:18:06

QNo.6456422

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

8人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

実行されたC#の文を示されていますが、
実際にOracleに投げられたSQL文を見れば、エラー原因が分かると思います。

逆に、今示された内容ですと、変数部分の値が分からぬため、エラー原因が分かりません。

"insert into kanri2 values('aaa'," + dateTimePicker1.Text + "," + checkedListBox1.CheckedItems +","+ checkedListBox6.CheckedItems +")";
この文字列を、ログ出力するなどして、変数名が実際の値に置き換わったSQL全文を見てみることはできますでしょうか?
そのSQL文をSQL*PLUSやSQL DeveloperなどのSQL実行ツールで実行しながらデバッグしていくとよいですよ。


差し当たり推測としては、変数の値が文字列値なのであれば、前後をシングルクオートで囲む必要があり、それが原因かと。恐らく、以下のような感じかな。
"insert into kanri2 values('aaa','" + dateTimePicker1.Text + "','" + checkedListBox1.CheckedItems +"','"+ checkedListBox6.CheckedItems +"')";

投稿日時 - 2011-01-18 21:52:26

あなたにオススメの質問