首页 > 解决方案 > 在gridview中显示数据的SQL查询

问题描述

我有一个网格视图,它在页面加载期间显示来自 SQL Server 数据库的数据。我的 gridview 包含这些列:

AssetType, IssuedOn, ReturnedOn

我使用了一个查询:

SqlCommand cmd = new SqlCommand(
    "SELECT * FROM AssetRequest WHERE ReturnedOn IS NULL OR ReturnedOn ='' ORDER BY id DESC",
    conn);

ReturnedOn当列没有任何数据时,它将在 gridview 中显示来自 SQL Server 的数据。

新查询必须满足这些条件,

  1. 当 Assetype="Laptop" 或 "Desktop" 且 IssuedOn 不为空时,它不应该显示记录。
  2. 但是如果 Assetype="Laptop" 或 "Desktop" 并且 IssuedOn 为空,则它应该显示记录。
  3. 如果 Assetype=anything 并且 Returnedon 不为空,则不应在 gridview 中显示该记录。

标签: c#sqlasp.netsql-servervisual-studio

解决方案


我希望此查询可以解决您的问题。

SELECT *
FROM AssetRequest
WHERE (AssetType IN ('Laptop', 'Desktop') AND (IssuedOn IS NULL OR IssuedOn = '') AND (ReturnedOn IS NULL OR ReturnedOn = '')) 
OR (AssetType NOT IN ('Laptop', 'Desktop') AND (ReturnedOn IS NULL OR ReturnedOn = ''))

推荐阅读