首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SqlDataSource SelectCommand包含空值

SqlDataSource SelectCommand包含空值
EN

Stack Overflow用户
提问于 2016-06-17 05:34:52
回答 1查看 136关注 0票数 0

我在服务器上运行的SQL代码。

代码语言:javascript
复制
SELECT 
    [LINE_NO], [CUST_ORDER_ID], [PART_ID], 
    [CUSTOMER_PART_ID], [MISC_REFERENCE], [PROMISE_DATE], 
    [PROMISE_DEL_DATE] 
FROM 
    [CUST_ORDER_LINE] 
WHERE 
    ([CUST_ORDER_ID] = '33742-1' 
     AND [PROMISE_DATE] IS NULL
     AND [PROMISE_DEL_DATE] IS NULL)

我的asp.net代码。

代码语言:javascript
复制
SelectCommand = "SELECT [LINE_NO], [CUST_ORDER_ID], [PART_ID], [CUSTOMER_PART_ID], [MISC_REFERENCE], [PROMISE_DATE], [PROMISE_DEL_DATE] FROM [CUST_ORDER_LINE] WHERE ([CUST_ORDER_ID] = ? AND [PROMISE_DATE] = ? AND [PROMISE_DEL_DATE] = ?)"

我使用了3个查询字符串参数。承诺日期和承诺交付日期可以为空。但是当这些值为null时,它不返回任何记录。

如何对其进行编程以将SQL更改为'is null'而不是= ''

EN

回答 1

Stack Overflow用户

发布于 2016-06-17 13:07:42

我想这就是你想要的:

  • 参数1= OrderID
  • 参数2/3都是承诺日期
  • 参数4/5都是承诺交付日期

代码:

代码语言:javascript
复制
SelectCommand = "SELECT [LINE_NO], [CUST_ORDER_ID], [PART_ID], [CUSTOMER_PART_ID], [MISC_REFERENCE], [PROMISE_DATE], [PROMISE_DEL_DATE] FROM [CUST_ORDER_LINE] WHERE [CUST_ORDER_ID] = ? AND (? IS NULL OR [PROMISE_DATE] = ?) AND (? IS NULL OR [PROMISE_DEL_DATE] = ?)"

SQL将为:

代码语言:javascript
复制
DECLARE @P1 INT, @P2 DATETIME, @P3 DATETIME

SELECT [LINE_NO], [CUST_ORDER_ID], [PART_ID], [CUSTOMER_PART_ID], [MISC_REFERENCE], [PROMISE_DATE], [PROMISE_DEL_DATE] 
FROM [CUST_ORDER_LINE] 
WHERE [CUST_ORDER_ID] = @P1 
AND (@P2 IS NULL OR [PROMISE_DATE] = @P2)
AND (@P3 IS NULL OR [PROMISE_DEL_DATE] = @P3)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37869712

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档