トップ回答者
クエリビルダはOracleで使用制限がありますか?

質問
-
初めまして。いつも拝見させていただいております。
.NET初心者ですが、VS2005を使用してWebアプリケーションを構築しております。カスタムSQLでSQLステートメントを作成し、クエリビルダ内では
データが表示されるのですが、最後の”クエリのテスト”を実行しますと
”構文エラー:","、識別子または引用符で囲まれた識別子が必要です”
との、エラーが出てしまい、GridViewにデータを表示する事が出来ません。環境:Win2003Server
DB:Oracle10gご教授お願いいたします。
SQL>
SELECT * FROM テーブルA INNER JOIN テーブルB
ON テーブルA.ID = テーブルB.ID
WHERE (テーブルB.ID = :ID)
OR (テーブルB.ID_1 = :ID_1)
OR (テーブルB.ID_3 LIKE '%' || :ID_3 || '%')
回答
すべての返信
-
本当ですね。試さずに返信したことをお詫びします。
一応、エラーが発生しても [完了] すれば良さそうです。GridView の場合は、[自動生成フィールド] にするか、自分で BoundField を追加して DataField に自分でフィールド名を書けば、正常に機能しているように見えます。
DataList の場合は、バインドの設定時に [フィールドのバインド] が選択できなくなってしまいますが、
[カスタム バインド] で 「Eval("ID")」とかすることで正常に動作し、生成されるコードも同じになります。もう一つの回避方法としては、オラクルの「方言」で書けば正常に動作しました((+) も使えました)。
けど不具合のために今更そんな書き方はしたくないですがもしかすると OTN のサイトには何か情報があるかもしれません(オラクル側のコントロールを使えばよいなど)。
時間ができれば調べてみようと思います。(と書いたときはたいてい調べなかったり)
私は知りませんでしたが、たぶん有名な話なんじゃないかなぁと思ったりします...