- - PR -
DataSetについて
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2003-11-17 15:44
こんにちわ。
いつも参考にさせて頂いております。 今回、下記の事で困っており何か情報を頂ければと思い書込みいたしました。 現在ASP.NETとACCESS2000のDBで開発を行っているのですが あるFormでOleDataAdapterを使いデータを読込もうとしているのですが、なかなか うまくいってくれません。 クエリビルダを使い3つのTBLでリレーションをはろうとしているのですが 下記のエラーが出てDataSetが作成できません。 TBL-A TBL-B TBL-C | |___________| | |____________________| クエリビルダで SELECT * From TBL-A INNER JOIN TBL-B ON TBL-B.Koumoku1 = TBL-A.Koumoku1 INNER JOIN TBL-C ON TBL-C.Koumoku2 = TBL-A.Koumoku2 としています。 普通にOKとし、DataSetを生成しようとすると OleDbDataAdapter1のスキーマの取得に失敗しました。 クエリ式 TBL-B.Koumoku1 = TBL-A.Koumoku1 INNER JOIN TBL-C ON TBL-C.Koumoku2 = TBL-A.Koumoku2 の構文エラーです。 演算子がありません。 となってしまいます。 別々にクエリビルダに書くとエラーにはならないのですがDataGridで どうしてもリレーションをとった値が必要なので困っております。 まさかとは思うのですが、クエリビルダでは3つのリレーションはとれないのでしょうか? その辺りの情報、どなたかご存知ないでしょうか? よろしくお願いいたします。 |
|
投稿日時: 2003-11-17 16:02
クエリビルダのオプションで、INSERT, UPDATE, DELETE文の生成をOFFにするとどうなりますか?
デフォルトではこれらも自動生成するようになっています。ところが、複数テーブルからの取得からINSERT文他を生成するのはサポート外になっています。そこのところが関係していると思うのですが。 |
|
投稿日時: 2003-11-17 16:21
Jittaさんいつも、いつもありがとうございます。
一応オプションでINSERT,UPDATE,DALETEの生成をOFFにしてやってみましたが 結果はやはり同じエラーが出てダメでした。 もう一度見直してみます。 |
|
投稿日時: 2003-11-17 17:29
自己スレです。
うまくいったのでご報告まで。 なんと括弧をつけないとダメだったようです。 下に変更したSQL文をのせておきます。 SELECT * From (TBL-A INNER JOIN TBL-B ON TBL-B.Koumoku1 = TBL-A.Koumoku1) INNER JOIN TBL-C ON TBL-C.Koumoku2 = TBL-A.Koumoku2 ただし、クエリビルダで括弧を追加しても勝手に消えてしまいます。 僕はソースに直接括弧を追加しました。 うーん、不思議だ。 |
1