2015-10-22 306 views
0

我使用传统的ASP制作一个网站,现在用下面的SQL语句,数据库是SQL Server 2000中查找记录

SELECT * from dbo.PDBproductview where product LIKE '" & partnumbersearch &"%';" 

但是我们现在还需要前进和后退按钮按部件号向前和向后移动 - 不知道如何实现这一点 - 我最初的想法是运行另一个SQL查询,并以某种方式获取零件表(产品)中零件的位置,然后在零件表之前和之后选择零件,是否有可能做到这一点 ?

+0

你需要参数化你的查询,而不是像这样建立一个字符串。你有什么容易受到SQL注入。 –

+0

你能举个例子吗? – Emma

+0

使用搜索引擎可以找到最好的例子... https://www.google.com/search?q = classic + asp + parameterized + query&ie = utf-8&oe = utf-8 –

回答

2

你不说你正在使用什么版本的SQL Server。但是,如果您使用的是SQL Server 2012或更高版本,则LEAD和LAG功能将允许您实现您想要执行的操作。

这是一个很不错的article你可以作为一个指导。本质上它看起来像这样:

SELECT LAG(p.FirstName) OVER (ORDER BY p.BusinessEntityID) PreviousValue, 
p.FirstName, LEAD(p.FirstName) OVER (ORDER BY p.BusinessEntityID) NextValue 
FROM Person.Person p 

有了LEAD和LAG功能,您可以指示您想要看多远后退或前进。

+0

SQL Server 2000 – Emma