[seasar-dotnet:1696] Re: [DBFlute]ConditionBean利用時に出力されるSQLについて

k.moriwaki [E-MAIL ADDRESS DELETED]
2010年 5月 27日 (木) 15:18:02 JST


志村さん
お世話になります、森脇です。

> 以下だと多分大丈夫だと思います。
回答ありがとうございます。
MSAccessはonの後にandで条件追加は出来ないのですね。

where に条件を加えるのでいけそうなのでMSAccessの場合は
additionalForeignKeyMap.dfpropのfixedConditionで条件を指定せず、
ConditionBean.Query().QueryHogeTbl() で条件を設定するようにします。

ありがとうございました。


2010年5月27日14:28 Masanobu Shimura <[E-MAIL ADDRESS DELETED]>:
> 森脇さん、久保さん
> 以下だと多分大丈夫だと思います。
> select  dflocal.ID as ID, dflocal.NAME as NAME, dflocal.NAMECODE as NAMECODE
>     , dfrelation_0.ID as ID_0, dfrelation_0.CODEKIND as CODEKIND_0
>     , dfrelation_0.CODE as CODE_0, dfrelation_0.NAME as NAME_0
>  from HOGE_TBL dflocal
>    left outer join NAME_TBL dfrelation_0 on dflocal.NAMECODE =
> dfrelation_0.CODE
> where (dfrelation_0.CODEKIND = '80')
> 志村
>
> 2010年5月27日10:21 k.moriwaki <[E-MAIL ADDRESS DELETED]>:
>>
>> 久保さん
>> お世話になります、森脇です。
>>
>> 回答ありがとうございます、こんなに早く対応して頂けるとは思いませんでした。
>> 0.8.9.16-RC2 で自動生成したソースで期待通りのSQLが出力される事が確認できました。
>>
>> > # 解決したので、MS Accessでもそれなりに
>> > # CBが利用できるようになっています。
>> これについて質問なのですが、業務的one-to-one はサポート対象外でしょうか?
>> 試しにやってみたところ以下のようなSQLが出力されエラーになりました。
>> エラーの内容は「left outer join 〜 on 〜 and 〜 」のand以降の部分で
>> 「結合式がサポートされていません」となります。
>>
>> 私もMSAccessの構文には詳しくないためどういう風に修正したら良いかわからないのですが、
>> とりあえず以下のsqlにwhereを追加し、and以降の条件をwhereに追加したら取得できるようになりました。
>>
>> ----- SQL ここから
>> select  dflocal.ID as ID, dflocal.NAME as NAME, dflocal.NAMECODE as
>> NAMECODE
>>     , dfrelation_0.ID as ID_0, dfrelation_0.CODEKIND as CODEKIND_0
>>     , dfrelation_0.CODE as CODE_0, dfrelation_0.NAME as NAME_0
>>  from (HOGE_TBL dflocal
>>    left outer join NAME_TBL dfrelation_0 on dflocal.NAMECODE =
>> dfrelation_0.CODE and dfrelation_0.CODEKIND = '80')
>> ----- SQL ここまで
>>
>>
>> 2010年5月26日15:53 kubo <[E-MAIL ADDRESS DELETED]>:
>> > 久保(jflute)です。
>> >
>> > こんにちは、森脇さん
>> >
>> > "0.8.9.16-RC2" にて、反映してみました。
>> > MS Access 利用時だけ(自動的に)演算子が
>> > 切り替わるようになっているはずです。
>> > (Java版のExampleでは確認が取れています)
>> >
>> > RCは、以下からダウンロードして下さい。
>> >
>> > // DBFlute.NETの最新バージョン
>> > http://dbflute.net.sandbox.seasar.org/ja/environment/newest.html
>> >
>> >
>> > #
>> > # ちなみに、SNAPSHOTをご利用ということで、
>> > # ご存知かもしれませんが、JOIN周りの問題を
>> > # 解決したので、MS Accessでもそれなりに
>> > # CBが利用できるようになっています。
>> > # Java版の dbflute-msaccess-example で、
>> > # @Ignoreになっていない機能は利用できます。
>> > #
>> >
>> > 2010/5/26 k.moriwaki <[E-MAIL ADDRESS DELETED]>:
>> >> 森脇と申します。
>> >>
>> >> ・環境
>> >> .NET Framework 3.5
>> >> s2container.net-1.3.17
>> >> dbflute-0.8.9.16-SNAPSHOT
>> >>
>> >> ・状況
>> >> ConditionBeanでNotEqualを使用した場合、出力されるSQLの演算子が「!=」になりますが
>> >> MSAccessの場合は「<>」なので構文エラーになってしまいます。
>> >> MSAccessは準サポートでConditionBeanはほぼ使えないとは理解していますが、
>> >> 単純なSQLの発行はConditionBeanを利用したいので、MSAccessの場合は「<>」
>> >> を出力するよう対応して頂くことは可能でしょうか?
>> >> _______________________________________________
>> >> seasar-dotnet mailing list
>> >> [E-MAIL ADDRESS DELETED]
>> >> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>> >>
>> > _______________________________________________
>> > seasar-dotnet mailing list
>> > [E-MAIL ADDRESS DELETED]
>> > https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>> >
>> _______________________________________________
>> seasar-dotnet mailing list
>> [E-MAIL ADDRESS DELETED]
>> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>
>
> _______________________________________________
> seasar-dotnet mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>
>


seasar-dotnet メーリングリストの案内