2016-11-15 61 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