Asp.net 根据要求,查询筛选器不正确
我的要求完全取决于Asp.net 根据要求,查询筛选器不正确,asp.net,oracle,gridview,Asp.net,Oracle,Gridview,我的要求完全取决于查询 我正在根据三个参数过滤我的gridview 项目名称(始终必需) 日期(不总是) 车辆编号(不总是) 那么,我的要求是 使用project\u name任何一个都可以用于筛选我的gridview 目前,我调试的查询对于任何两个参数都可以正常工作 下面是我调试的查询:- 上面的查询显示了我输入的project\u name和Date的准确结果 [![Image 1][1][1] 但是当我添加第三个参数时,比如说Vehicle\u no,它不会显示确切的Vehicle\u n
查询
我正在根据三个参数
过滤我的gridview
项目名称
(始终必需)日期
(不总是)车辆编号
(不总是)project\u name
任何一个都可以用于筛选我的gridview
目前,我调试的查询对于任何两个参数都可以正常工作
下面是我调试的查询:-
上面的查询显示了我输入的project\u name
和Date
的准确结果
[![Image 1][1][1]
但是当我添加第三个参数时,比如说Vehicle\u no
,它不会显示确切的Vehicle\u no
的数据,它仍然显示我查找的2
参数的相同数据
[![图片2][2]][2]
我正在使用ORACLE作为数据库。请帮助尝试通过以下方式编辑您的
WHERE
条件:
WHERE gd.good_type_code(+) = sv.good_type
AND sv.project_id = '1368'
AND NVL('26-11-2015', TO_CHAR (date_in, 'dd-MM-yyyy') ) = TO_CHAR (date_in, 'dd-MM-yyyy')
AND NVL('0', vehicle_no ) = vehicle_no
AND sv.delete_flag = 'N'
这样,如果使用3,它应该精确匹配3个参数;如果使用2,它应该精确匹配2个参数,而不给第三个参数任何值。我假设中的vehicle\u no
和date\u在您的表中总是非空
PS:我看到您在xxacl\u xxgid\u user\u mst
上没有加入条件;可以吗?也许我错了,但我知道车辆上的条件
o在中,或者中的条件是日期,而中的条件
中的日期总是满足您的要求records@Aleksej:那么确切的条件应该是什么呢,它可以与2个参数匹配,也可以与3个参数匹配,因为您可能需要类似于project_id=。。。和(date_in=…或vehicle_n=…)。您能在查询和显示中添加它吗。??我会检查并更新你是否正常是的,没关系。但当我接受所有三个参数时,你的逻辑不起作用:((编辑为与2或3个参数匹配。当我检查匹配日期时,网格中不显示任何内容。我假设当您没有字段过滤器时,传递给查询的值为NULL
;如果您的下拉列表中没有选择值,您的网格在date\u和vehicle\u no
中传递的值是什么k仅适用于2个参数,即项目名称
和日期
,该参数在网格中没有显示任何内容,只是将数据输入数据库。