最近寫乙個模糊綜合多個欄位的資料表查詢,又要保持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,但是對 這樣的改動量就太大了。目前線上版本如果做這種改動怕測試又出什麼么蛾子,如果又重新建表將這些資訊另外儲存起來又...