gridview 實現多欄位綜合查詢

2022-03-20 19:01:41 字數 1800 閱讀 1022

最近寫乙個模糊綜合多個欄位的資料表查詢,又要保持gridview的現有的功能。如新增,刪除,更新,排序。為了簡單少些**,發現如果文字框不填的化,它一般會返回null 或空值,這樣就可以使用 like 『% @name %' 實現模糊查詢,也可實現多個欄位的查詢。

資料庫表:create table [dbo].[tq_xianhuo](

[supplyuint] [nvarchar](250) null,

[telephone] [nvarchar](50) null,

[name] [nvarchar](255) null,

[quality] [nvarchar](255) null,

[specific] [nvarchar](255) null,

[sum] [nvarchar](255) null,

[place] [nvarchar](255) null,

[factory] [nvarchar](255) null,

[data] [datetime] null,

[beizhu] [nvarchar](250) null,

[id] [int] not null,

[dp_id] [int] null,

constraint [pk_tq_xianhuo] primary key clustered

([id] asc

)with (pad_index  = off, statistics_norecompute  = off, ignore_dup_key = off, allow_row_locks  = on, allow_page_locks  = on) on [primary]

) on [primary]

儲存過程:

alter procedure dbo.xian_list

@supplyuint nvarchar(100),

@name nvarchar(50),

@quality nvarchar(50),

@specific nvarchar(50),

@place nvarchar(50),

@factory nvarchar(50)

asif @supplyuint is null

set @supplyuint=''

if @name is null

set @name=''

if @quality is null

set @quality=''

if @specific is null

set @specific=''   

if @place is null

set @place=''

if @factory is null

set @factory=''

select * from tq_xianhuo

where

supplyuint like '%'+@supplyuint+'%' and

[name] like '%'+@name+'%' and

quality like '%'+@quality+'%' and

specific like '%'+@specific+'%' and

place like '%'+@place+'%' and

factory like '%'+@factory+'%'

return

default.aspx 顯示頁面

" selectcommand="xian_list" selectcommandtype="storedprocedure">

mysql查詢多欄位 mysql多欄位模糊查詢

在最近的乙個專案需要實現在mysql單錶多關鍵字模糊查詢,但這數個關鍵字並不一定都存在於某個字段。例如現有table表,其中有title,tag,description三個字段,分別記錄一條資料的標題,標籤和介紹。然後根據使用者輸入的查詢請求,將輸入的字串通過空格分割為多個關鍵字,再在這三個欄位中查...

SQL語句實現多欄位排序

一 sql語句實現單字段降序 公升序 select a.from a order by a.id 預設情況下,一般是公升序 關鍵字公升序是asc,降序為desc 二 sql語句實現多欄位降序 select a.from a order by a.id desc,a.num desc 三 sql語句實...

MySQL簡單實現多欄位模糊查詢

我所做的 專案前些時提了新需求,要求前台搜尋商品除了能通過商品名稱搜尋到以外,還可以通過別個資訊搜尋,比如 商品編號 詳情內容描述等等,類似於全文搜尋了。我首先想到的就是lucene,但是對 這樣的改動量就太大了。目前線上版本如果做這種改動怕測試又出什麼么蛾子,如果又重新建表將這些資訊另外儲存起來又...