【发布时间】:2012-10-17 23:45:09
【问题描述】:
我有一个时钟应用程序,用于记录员工的出勤情况,
我试图设置“Enter”imageButton 的可见性
(入口例如“Timein”字段)根据查询隐藏
因此,如果最后一条记录中没有timeout,而当前UserId 的TimeIn 则将隐藏Enter 按钮
这是表格:(tId 是 PK IDENTITY)
因此基于这些记录,例如,最后一个(前 1 个)未注销,因此用户将看不到允许用户登录的 Enter button,因为没有最后一个操作 @987654329 @
从asp.net C# 后面的代码工作,我试图使用datedIff 作为查询来解决问题:
但我想我在这里遗漏了一些东西
如果这是我只想展示的错误方法,请不要考虑..我确实尝试过,但如果有更好的方法来实现我需要的,那么请忽略该查询
select isnull((SELECT TOP 1 case when [TimeOut] is null then '' else convert(nvarchar,[TimeOut]) end FROM tblTime WHERE datediff(day,TimeOut,getdate())=0 and UserId =3571 ORDER BY tId DESC),'')
【问题讨论】:
-
可能是你需要
select top 1 TimeOut from tblTime where UserId=3571 order by tId desc(或通过TimeIn)然后检查返回值是否为DbNull.Value? -
@nrodic 由于我缺乏经验,每个简单的解决方案都可能最终因为代码(上面的查询)太复杂我可能想要一个简单的
bool来检查通过`try {返回的这个查询Conn.Open(); strValue = TblStrCMD.ExecuteScalar().ToString(); } 最后 { Conn.Close(); } 返回 strValue == "";`
标签: c# asp.net sql-server-2008 c#-4.0 asp.net-4.0