Sql Hibernate查询不';I don’我没有按预期工作
你好,我有以下问题:Sql Hibernate查询不';I don’我没有按预期工作,sql,hibernate,nhibernate,Sql,Hibernate,Nhibernate,你好,我有以下问题: 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 = " + cl
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 + "";
因为它应该只在列“VON”上进行更新,例如当“clientId”为“AT2”时
但这部分不起作用。因为更新也发生在其他clientId上 你忘了合上括号
(另外,您也应该为clientId使用一个参数)什么是“查询对VON进行更新”-它是否更新了名为VON的字段?它是否更新了正确数量的记录(子集)?哪个“查询的其余部分不起作用”?您应该更好地解释这一点。什么是“查询的其余部分”?它不能正确地执行
位置
零件?此外,还有一个额外的参数集——“Bis”。上面的HQL查询中没有提到它。请查看发送到数据库()的确切查询,并在SQL Server Manager Studio(如果使用SQL Server)中尝试它。如果我为类似clientId的查询设置了参数,请单击“设置参数”(“PanelId”,clientId);iam收到错误:找不到名称参数[PanelId]StackUm。。。您需要先声明参数。。。而不是串联字符串。如果:von是字符串,则在查询中应该是:“where von='':von'”+