SQL DATEDIFF()并在asp.net中使用

时间:2015-04-15 04:41:06

标签: asp.net datediff

我使用sql DATEDIFF()(返回类型:int)函数减去两次,并在asp.net应用程序中使用该值(以分钟为单位)。如果分钟数大于30,则应为红色。但我收到的错误是“输入字符串格式不正确。”

SQL DATEDIFF()函数

Update lunTime
set lunTot =  DATEDIFF(minute, lunIn, LunOut) from lunTime

现在在gridview中使用该值..

if (e.Row.RowType == DataControlRowType.DataRow)
{
    int lunTot = Convert.ToInt16(e.Row.Cells[4].Text);
    if (lunTot > 30)
    {
        e.Row.ForeColor = Color.Red;
    }
}

2 个答案:

答案 0 :(得分:0)

检查空值。除此之外,您的代码没有任何问题。

 int? lunDateTotl = Int32.TryParse(stringVal, out tempVal) ? tempVal : (int?)null;
 if (DBNull.Value != lunDateTotl)
 {
     lunDateTotl = Convert.ToInt16(e.Row.Cells[4].Text);

 }
 if (lunDateTotl > 30)
 {
     e.Row.ForeColor = Color.Red;
 }

答案 1 :(得分:0)

您还可以按客户端脚本突出显示。

<asp:Label ID="lblUPSUserName" runat="server" Text='<%# Eval("lunTot") %>' CssClass='<%# Convert.ToInt32(Eval("lunTot")) > 30 ? "__IsActive" : "" %>'></asp:Label>

并在脚本块中

<script type="text/javascript">
    function pageLoad() {
        $(".__IsActive").closest('tr').addClass("highLight");
    }
</script>

并将class放入style.css

<style type="text/css">
    .highLight td {
        background-color: green;
    }
</style>