2010-11-30 6 views
1

Mein Problem ist, wenn ich den Text wie "XXX" eingeben und auf die Suchschaltfläche klicken, zeigt es den Datensatz nur für "XXX". aber ich möchte alle Aufzeichnungen des Großbuchstabens und auch den Kleinbuchstaben von "XXX" zeigen. dann versuche ich freetext aber es zeigt "Falsche Syntax nahe dem Schlüsselwort 'Freetext'".FREETEXT Problem auf gespeicherte Prozedur

kann mir jemand sagen, der Grund ......

Ich verwende den folgenden Code für mehrere Such ....

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 

Antwort

0

in Freitext-Funktion können Sie nicht einige tun müssen Aktion beschreiben Sie nur die Spalte (n) und Parameter. siehe MSDN (zweites Beispiel beschreibt die Verwendung der Variablen)