2010-11-30 120 views
1

我的問題是當我輸入像「XXX」這樣的文本並單擊搜索按鈕時,它顯示只有「XXX」的記錄。但我想顯示大寫的所有記錄以及「XXX」的小寫。然後我嘗試自由文本,但它顯示「關鍵字'Freetext'附近的語法不正確」。存儲過程FREETEXT問題

誰能告訴我的理由......

我使用多個搜索下面的代碼....

set ANSI_NULLS ON 
set QUOTED_IDENTIFIER ON 
go 
ALTER PROCEDURE [dbo].[sp_searchdetails] 
    @customervendortype varchar(30)=Null, 
    @customervendorid varchar(30)=Null, 
    @customervendorname varchar(30)=Null, 
    @state    varchar(30)=Null, 
    @city    varchar(30)=Null 
AS 
BEGIN 

if @customervendortype is not null and len(@customervendortype)=0 set @customervendortype = null 
if @customervendorid is not null and len(@customervendorid)=0 set @customervendorid = null 
if @customervendorname is not null and len(@customervendorname)=0 set @customervendorname = null 
if @city is not null and len(@city)=0 set @city = null 
if @state is not null and len(@state)=0 set @state = null 

SELECT CustomerVendorDetails.customervendorid,CustomerVendorAddressDetails.customervendorname, CustomerVendorAddressDetails.doorno, CustomerVendorAddressDetails.street, 
CustomerVendorAddressDetails.city, CustomerVendorAddressDetails.state, CustomerVendorAddressDetails.country, 
CustomerVendorAddressDetails.pincode, CustomerVendorDetails.decidingauthority, 
CustomerVendorDetails.landlineno1, CustomerVendorDetails.landlineno2, CustomerVendorDetails.faxno, ContactPersonDetails.contactno, 
ContactPersonDetails.designation 

FROM  
CustomerVendorDetails INNER JOIN 
CustomerVendorAddressDetails ON CustomerVendorDetails.customervendorid = CustomerVendorAddressDetails.customervendorid INNER JOIN 
ContactPersonDetails ON CustomerVendorAddressDetails.customervendorid = ContactPersonDetails.customervendorid 

WHERE 
(@customervendortype is null or CustomerVendorDetails.customervendortype like @customervendortype) and (@customervendorid is null or CustomerVendorDetails.customervendorid like @customervendorid) and Freetext (@customervendorname is null or CustomerVendorDetails.customervendorname like @customervendorname) and Freetext (@city is null or CustomerVendorAddressDetails.city like @city)and Freetext (@state is null or CustomerVendorAddressDetails.state like @state) 

END 

回答

0

在自由文本功能,你不需要做一些操作只是描述列和參數。見MSDN(第二個例子描述可變用法)