-1

こんにちは、次のクエリがあります。

 String hql = "UPDATE Raumreservierung as rr " +
              "set VON = :begin " +
              "where VON = :Von " +
              "and Raum_ID IN (SELECT r.ID FROM Raum r " +
              "inner join r.Panel as pl with pl.ID = " + clientId + "";



 IQuery query = CurrentSession.CreateQuery(hql);
                query.SetParameter("begin", DateTime.Now);
                query.SetParameter("Von", v.Von);
                int result = query.ExecuteUpdate();

クエリは「VON」で更新を行います。これは正常に機能しますが、残りのクエリは機能していません。残りのクエリが機能していないようです。しかし、エラーは発生しませんでした。

残りのクエリとは、クエリの次の部分を意味します。

"and Raum_ID IN (SELECT r.ID FROM Raum r " +
"inner join r.Panel as pl with pl.ID = " + clientId + "";

たとえば、「clientId」が「AT2」の場合、列「VON」の更新のみが発生するはずですが、その部分は機能していません。更新は他のclientIdでも発生するためです。

4

1 に答える 1

2

括弧を閉じるのを忘れました。

(また、clientId にもパラメーターを使用する必要があります)

于 2012-08-22T18:42:06.247 に答える