SQL代码在家庭滚动gridview搜索结果不显示正确的结果
本文关键字:显示 结果 搜索结果 代码 家庭 滚动 gridview SQL | 更新日期: 2023-09-27 18:18:01
我正在尝试解决我自己滚动的ASP/c# gridview搜索中的一些SQL代码。我有一个搜索框,搜索特定的字段,但这里的转折是,我只想要某一行之后的结果。
在这个数据库中,我有一个序列命令,自动生成一个名为"record_number"的列中的每个条目在这个表中,只需要记录#500之后的结果。条目是通过另一个页面手动创建的。
现在我的搜索代码如下:
"SelectCommand="SELECT [record_number], [column_a], [column_b], [column_c], [column_d], [column_e], [column_f], [column_g], [column_h], [column_i], [column_j] FROM [schema].[table_name] WHERE record_number >= 500 AND ([column_a] LIKE '%' + @column_a + '%') OR ([column_c] LIKE '%' + @column_c + '%') OR ([column_e] LIKE '%' + @column_e + '%') OR ([column_g] LIKE '%' + @column_g + '%') OR ([column_h] LIKE '%' + @column_h + '%') OR ([column_j] LIKE '%' + @column_j + '%')"
我可以张贴我的SelectParameters如果需要或其他任何东西。我所面临的挑战是,当我运行一个搜索字母"c"利用这段代码,张贴的结果有一个record_number小于和大于500。在这一点上,我在转动轮子,因为我没有看到问题在哪里。
如果群众需要更多的信息,请告诉我。
编辑忘记这部分了-我试过移动命令和合并命令,但没有成功
您是否尝试在()中包装查询中的所有OR语句?它几乎看起来好像它正在阅读它:
(record_number >= 500 AND ([column_a] LIKE '%' + @column_a + '%')) OR ([column_e] LIKE '%' + @column_e + '%') OR ([column_g] LIKE '%' + @column_g + '%') OR ([column_h] LIKE '%' + @column_h + '%') OR ([column_j] LIKE '%' + @column_j + '%')
而不是:
record_number >= 500 AND (([column_a] LIKE '%' + @column_a + '%') OR ([column_e] LIKE '%' + @column_e + '%') OR ([column_g] LIKE '%' + @column_g + '%') OR ([column_h] LIKE '%' + @column_h + '%') OR ([column_j] LIKE '%' + @column_j + '%'))
的不同之处在于,它将>= 500加上column_a的第一条语句作为一个条件,在这种情况下,其他条件也可以为真,从而导致结果为record_number <500 .
我不确定这是不是你的问题,但我愿意试一试。
我的问题在数据库管理员板上得到了回答。我的OR子句打破了查询。