2016-09-21 4 views
0

ウェブサイトに検索テキストボックスを作成しようとすると、送信時に「文字列キーワード」がグリッドに渡され、一致するすべてのレコードがそのキーワード「キーワード」のテーブルフィールドを検索するT-SQLクエリ

私は、クエリ文字列を介してフォームによって渡されたパラメータを「リッスンする」whereステートメントでグリッドをセットアップする必要があります。

私はこれにアプローチする方法がわかりません。任意の洞察力、ヒント、例が分かります。

更新------- これは、私のグリッドがレコードを設定するために使用するクエリです。 City/Region/Countryに加えて、私はBND_Listingテーブルの中にある私のCompanyフィールドを見るだけのキーワード検索を取り入れようとしています。

select * FROM BND_listing right join BND_ListingCategories 
on BND_Listing.CatID=BND_ListingCategories.CatID 
where 
(CategoryName = '[querystring:filter-Category]' or '[querystring:filter-  Category]'='All') 
and 
(City = '[querystring:filter-City]' or '[querystring:filter-City]'='All') 
and 
(Region= '[querystring:filter-State]' or '[querystring:filter-State]'='All') 
and 
(Country= '[querystring:filter-Country]' or '[querystring:filter- Country]'='All') 
and 
isnull(Company,'') <> '' 
ORDER by Company ASC 

答えて

1

私はあなたがパラメータのために、「聞く」によって何を意味するのか分からないが、あなたが唯一のTSQLがタグ付けされた持っているので、SQL Server内の一致する部分がそうのように実現されます。

DECLARE @param VARCHAR(256) --or what ever size you need 
SET @param = 'some text' 

SELECT SomeColumns 
FROM SomeTable 
WHERE aColumn LIKE '%' + @param + '%' 

または使用VBのSqlCommandをチェックアウトすることができます:https://stackoverflow.com/a/251311/6167855

+0

ありがとうございます。私は何が起こっているのか理解するために少し時間を過ごす必要があります。私は私のアプリケーションからトークンを引き出すためにこれを修正する必要があります。私はそれが働くようになると更新されます。 – UserSN

+1

何が届いていますか? DBのトークンはどうですか? @AlexP – scsimon

+0

私のフォームでは、クエリを実行し、?keyworkd = [Field1]などのクエリ文字列パラメータを追加できます。ここで、field1は検索ボックスに入力されたものに置き換えられます。これから私はグリッドのwhereステートメントを変更して、テーブル "Company Name"フィールドから[field1]と一致するものを取り出し、それらの結果のみを返す必要があります。これは私がそれを働かせることができると想像する方法です?それは私がこれまで都市/州/地域で行ってきたことですが、それは選択ボックスでした。これは、正確に1つまたは複数のデータ行と必ずしも一致しない文字列を入力できる検索ボックスです。 – UserSN

関連する問題