[seasar-dotnet:556] Re: S2DaoでSQLファイルを使用した場合の更新件数の取得方法について

Kazuya Sugimoto [E-MAIL ADDRESS DELETED]
2007年 7月 24日 (火) 23:08:45 JST


杉本です。

大事なことを忘れていました。

Update処理とS2Dao.NETに認識させるためにメソッド名を
Update, Modify, Storeのいずれかから始める必要があります。

http://s2dao.net.seasar.org/ja/dao.html#Update

PKeyLockはS2Dao.NETはSELECTと判断して結果を返そうとしています。


07/07/24 に KIYOSUE Minoru<[E-MAIL ADDRESS DELETED]> さんは書きました:
> 杉本 様
>
> お手数をお掛けし、恐縮に存じます。
>
> SQLファイルは、以下の通りです。
>
> UPDATE     nttb02User
> SET
>    ReferDate  = (getdate())
> WHERE
>            nt02UserSeqID                     =
>                                      /*nttb02UserEntity.Nt02UserSeqID*/'@@@@@@@@'
> AND         DelFlag         =       '0'
> AND       ( ReferDate       IS      NULL
>        OR  ReferDate      <=
>        CONVERT(datetime, /*strUnlockDateTime*/'2007/07/24 15:27:32.000' ))
>
>
> ちなみにファイル名は、INttb02UserExDao_PKeyLock.sql とし、DAOのソースと同じ場
>
> 所においてあります。
>
> よろしくお願い申し上げます。
>
>
> ----- Original Message -----
> From: "Kazuya Sugimoto" <[E-MAIL ADDRESS DELETED]>
> To: <[E-MAIL ADDRESS DELETED]>
> Sent: Tuesday, July 24, 2007 7:05 PM
> Subject: [seasar-dotnet:553] Re:S2DaoでSQLファイルを使用した場合の更新件数の取得方法について
>
>
> > 杉本です。
> >
> > SQLファイルの中身も確認させていただけますでしょうか?
> >
> > 07/07/24 に KIYOSUE Minoruさんは書きました:
> >> 杉本 様
> >>
> >> 大変お世話になります、清末です。
> >> おかげさまで順調にDIを進めることができております。
> >>
> >> さて、ご回答について更に質問となってしまいますが、以下のDAOの結果が常に0
> >> となってしまいます。
> >>
> >> Imports System
> >>
> >> Imports Seasar.Dao.Attrs
> >> Imports Nttb02UserEntity = NtkProjectCore.entity.Nttb02UserEntity
> >>
> >> <Bean(GetType(Nttb02UserEntity))> _
> >> Public Interface INttb02UserExDao
> >>
> >>    ''' <summary>
> >>    '''    PrimaryKey Lock
> >>    ''' </summary>
> >>    ''' <param name="nttb02UserEntity">バリューオブジェクト。 </param>
> >>    ''' <param name="strUnlockDateTime">論理ロックを強制解除とみなす日時</param>
> >>    ''' <returns> 処理対象件数。 </returns>
> >>    Function PKeyLock(ByVal nttb02UserEntity As Nttb02UserEntity, _
> >>                                ByVal strUnlockDateTime As String) As
> >> Integer
> >>
> >> End Interface 'INttb02UserExDao
> >>
> >> S2Daoをデバッグモードで確認すると
> >>
> >>
> >> namespace Seasar.Dao.Interceptors
> >> {
> >>    public class S2DaoInterceptor : AbstractInterceptor
> >>    {
> >>        private IDaoMetaDataFactory daoMetaDataFactory;
> >>
> >>        public S2DaoInterceptor(IDaoMetaDataFactory daoMetaDataFactory)
> >>        {
> >>            this.daoMetaDataFactory = daoMetaDataFactory;
> >>        }
> >>
> >>        public override object
> >> Invoke(Seasar.Framework.Aop.IMethodInvocation
> >> invocation)
> >>        {
> >>            MethodBase method = invocation.Method;
> >>            if(!method.IsAbstract) return invocation.Proceed();
> >>            Type targetType = GetComponentDef(invocation).ComponentType;
> >>            IDaoMetaData dmd =
> >> daoMetaDataFactory.GetDaoMetaData(targetType);
> >>            ISqlCommand cmd = dmd.GetSqlCommand(method.Name);
> >> ⇒         object ret = cmd.Execute(invocation.Arguments);
> >>
> >>            Type retType = ((MethodInfo) method).ReturnType;
> >>            ret = ConversionUtil.ConvertTargetType(ret, retType);
> >>            return ret;
> >>        }
> >>
> >>    }
> >> }
> >>
> >> 「⇒」の部分の ret がNULLになっており、結果戻り値がZeroとなっております。
> >>
> >> なにか指定がたりないのでしょうか?
> >> 使用しているS2Daoのバージョンは「s2dao.net-1.0.4」です。
> >>
> >> ご多忙中大変恐縮に存じますが、よろしくお願いします。
> >>
> >>
> >>
> >>
> >>
> >> ----- Original Message -----
> >> From: "Kazuya Sugimoto" <[E-MAIL ADDRESS DELETED]>
> >> To: <[E-MAIL ADDRESS DELETED]>
> >> Sent: Tuesday, July 24, 2007 5:32 PM
> >> Subject: [seasar-dotnet:551] Re:S2DaoでSQLファイルを使用した場合の更新件数の取得方法について
> >>
> >>
> >> > 杉本です。
> >> >
> >> > 清末さん、こんにちは。
> >> >
> >> > Java版と同様に戻り値で取得することが出来ます。
> >> >
> >> >
> >> >
> >> > 07/07/24 に KIYOSUE Minoru さんは書きました:
> >> >> 度重なる質問で大変恐縮に存じます、清末です。
> >> >>
> >> >> 順調にDIを進めている最中なんですが、S2DaoでSQLファイルを使用した場合に
> >> >> 更新件数の取得が可能か知りたくてメールいたしました。
> >> >>
> >> >> Java版のS2Daoでは、以下のようにDaoのメソッドの戻りをIntegerにすると件数
> >> >>
> >> >> が取得できますが.Net版でも同様に行えるのでしょうか、ご教授お願い申し上
> >> >> げます。
> >> >>
> >> >> public int update(Employee employee);
> >> >>
> >> >>
> >> >>
> >> >> _______________________________________________
> >> >> seasar-dotnet mailing list
> >> >> [E-MAIL ADDRESS DELETED]
> >> >> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
> >> >>
> >> >
> >> >
> >> > --
> >> > Kazuya Sugimoto
> >> > Microsoft MVP Visual Developer - Solutions Architect
> >> > http://d.hatena.ne.jp/sugimotokazuya/
> >> > _______________________________________________
> >> > 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
> >>
> >
> >
> > --
> > Kazuya Sugimoto
> > Microsoft MVP Visual Developer - Solutions Architect
> > http://d.hatena.ne.jp/sugimotokazuya/
> > _______________________________________________
> > 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
>


-- 
Kazuya Sugimoto
Microsoft MVP Visual Developer - Solutions Architect
http://d.hatena.ne.jp/sugimotokazuya/


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