2016-11-15 62 views
1

我正在尝试使用JSP和SQL Server实现搜索功能。我需要使用关键字如电话号码进行搜索。但是我的讲师希望我有点不同地实现搜索功能。使用JSP和SQL Server 2008实现搜索条件?

比方说,我在数据库123456中有一个电话号码,并且我在搜索框123中键入号码。该程序应该能够检索电话号码以123开头的所有记录。

到目前为止,我尝试了以下方法,但我必须输入要检索结果的完整编号。我怎样才能改变我的程序,使其符合我的讲师的要求?

USE [test] 
GO 
/****** Object: StoredProcedure [dbo].[add_data] Script Date: 15-11-2016 10:14:51 ******/ 
SET ANSI_NULLS ON 
GO 
SET QUOTED_IDENTIFIER ON 
GO 
CREATE Procedure [dbo].[select_data] 
(
@thePhoneNumber VARCHAR(200), 
@theName  VARCHAR(200) OUT 

) 
As 
Begin 
    SELECT @theName= Name FROM real WHERE [email protected] 
End 
+0

请标记正确的答案,如果它可以帮助你。 – balaji

回答

1

我不知道这是不是你正在寻找,但一个正常的SQL查询,你应该,你要搜索的休息,每次使用%标志答案。

例如,在这种情况下,你应该使用:

SELECT phonenumber FROM real WHERE phonenumber LIKE '123%' 

希望它能帮助:)

1

Like运算符将帮助你在这种情况下。

USE [test] 
GO 
/****** Object: StoredProcedure [dbo].[add_data] Script Date: 15-11-2016 10:14:51 ******/ 
SET ANSI_NULLS ON 
GO 
SET QUOTED_IDENTIFIER ON 
GO 
CREATE Procedure [dbo].[select_data] 
(
@thePhoneNumber VARCHAR(200), 
@theName  VARCHAR(200) OUT 

) 
As 
Begin 
    SELECT @theName= Name FROM real WHERE PhoneNumber like '@thePhoneNumber+'%' 
End 
+0

: - 谢谢你的回复。但不幸的是,我得到空结果作为名称。可能是什么问题? – Farheen

+0

@Farheen它应该而不是'SELECT @ theName = Name从真实WHERE PhoneNumber像@thePhoneNumber +'%'' –

+0

@ TT - 你是生活的保护者。谢谢你。希望我可以投你的答案,但我的名誉点不允许我。但非常感谢你.. – Farheen