Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# C TableAdapter可选WHERE子句_C#_Sql_Datatable - Fatal编程技术网

C# C TableAdapter可选WHERE子句

C# C TableAdapter可选WHERE子句,c#,sql,datatable,C#,Sql,Datatable,我在QueryBuilder中有这样一个查询: SELECT Items FROM Tables WHERE (Transactions.transaction_type = ? AND Items.designation LIKE '%'+?+'%' AND Transactions.transaction_date >= ? AND Transactions.transaction_date <= ? AND Items.item_number = ?) 但是,

我在QueryBuilder中有这样一个查询:

SELECT Items    FROM     Tables
WHERE  (Transactions.transaction_type = ? AND
Items.designation LIKE '%'+?+'%' AND Transactions.transaction_date >= ?
AND Transactions.transaction_date <= ? AND Items.item_number = ?)
但是,我并不总是希望按项目编号进行筛选,因此:是否可以临时忽略WHERE子句,或者像在指定参数中那样设置空值,而不在设计器中创建单独的查询?

现在开始:

SELECT Items FROM Tables
WHERE Transactions.transaction_type = @TransatctionType AND
Items.designation LIKE '%'+ @Designation +'%'
AND Transactions.transaction_date >= @DateFrom
AND Transactions.transaction_date <= @DateTo 
AND (@ItemNumber IS NULL OR Items.item_number = @ItemNumber)
不创建新查询的原因是什么?在这种情况下,代码更易于维护

SELECT Items FROM Tables
WHERE Transactions.transaction_type = @TransatctionType AND
Items.designation LIKE '%'+ @Designation +'%'
AND Transactions.transaction_date >= @DateFrom
AND Transactions.transaction_date <= @DateTo 
AND (@ItemNumber IS NULL OR Items.item_number = @ItemNumber)