- ベストアンサー
SQLエラーについて
- ora-00907エラー:右かっこがありませんが出ます。なぜでしょうか??
- SQLエラー(ora-00907)の原因は右かっこが不足していることです。
- 解決策は、SQL文の右かっこが正しく書かれているか確認することです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
comboBox1、comboBox2 は必ず'YYYY-MM-DD'形式で入力されてますか? #1さんのご指摘の通り、シングルクォートで囲まないまま入力が'YYYY/MM/DD'形式だと、 /を実行指令と解釈しておかしくなるかも。 先頭1行目は、右辺のstrSQLを省略しておかないと、何があるかわからないので注意されたほうが良いですよ。 strSQL = "select K.Hiduke 日付, S.Syouhinmei 商品名, S.Tanka 単価, K.Suryou 数量, (S.Tanka * K.Suryou) 金額"; strSQL = strSQL + " from SyohinHyo S, Kounyurireki K"; strSQL = strSQL + " where K.Syouhinbangou = S.Syouhinbangou"; strSQL = strSQL + " and to_char(K.Hiduke, 'YYYY-MM-DD') "; strSQL = strSQL + " between '" + comboBox1 + "' and '" + comboBox2 + "'"; 'ここでMessage Box でも用いて組み立てたstrSQLの中身を確認する
その他の回答 (1)
- Struggler
- ベストアンサー率18% (97/527)
strSQL = strSQL + " between to_date(" + comboBox1 +",'YYYY-MM-DD') and "; strSQL = strSQL + " to_date(" + comboBox2 + ",'YYYY-MM-DD')"; 最後の2行を以下に変えたらどうでしょうか? ’で代入文字をくくっています。 strSQL = strSQL + " between to_date('" + comboBox1 +"','YYYY-MM-DD') and "; strSQL = strSQL + " to_date('" + comboBox2 + "','YYYY-MM-DD')"; よろしくお願いします。
補足
strSQL = strSQL + " between to_date('" + comboBox1 +"','YYYY-MM-DD') and "; strSQL = strSQL + " to_date('" + comboBox2 + "','YYYY-MM-DD')";で行うと ora-01841:(周)年は-4713と+9999の間で指定しなければなりませんが、0であってはなりません。が出るのですがどうすればいいでしょうか??
お礼
毎回ご回答いただきありがとうございます。 とても助かりました!!おかげさまであとはCrystalReportを使うだけになりました。