create proc test(@username char(10),@user*** char(2),@useraddress varchar(100))
as
declare @sqlstr varchar(1000)
set @sqlstr='select top 100 * from datatable where 1=1'
if @username<>''
set @sqlstr=@sqlstr + ' and username like ''%'' + @username+ ''%'''
if @user***<>''
set @sqlstr=@sqlstr + ' and user***= ''' + @user*** + ''''
if @useraddress<>''
set @sqlstr=@sqlstr + ' and useraddress like ''%'' + @useraddress''%'''
exec(@sqlstr)
由於是組合條件生成的sql 語句,所以防注入式攻擊也就十分重要了,暫時沒有太好的辦法,用了乙個下面的函式:
/// 指定的頁面
/// 用法:errorsql(this)
public bool errorsql(system.web.ui.control page)
;int npagecontrols = page.controls.count;
for (int i = 0; i < npagecontrols; i++)
//end if
}//end for
}//end if
}//end foreach
}//end for
return false;
}#endregion
關於組合查詢的實現
示範中心有一項功能是組合查詢,就是在現有資料 例如教師 實驗室 實驗專案 中過濾出感興趣的資料。因為資料的型別比較多,大約有十個,為每種型別都做一套查詢介面和對應的action 很不划算。我打算通過配置檔案的方式,為每個型別的資料都需要對哪些屬性進行過濾進行說明,並且說明每個屬性在介面上表現為文字框...
組合查詢功能實現
這是我的第二篇文章,這是我之前做的erp專案的時候設計實現的。在這個erp系統中,功能比較多,表設計的時候建立了很多業務表。對於一些業務表需要執行很多查詢,客戶要求針對不同的字段進行查詢,基於我們之前的設計,針對不同的查詢條件設計不同的dal方法,通過不同的方法簽名來實現客戶的對於不同條件查詢的要求...
sql模糊查詢實現組合查詢
資料庫程式設計中經常遇到組合查詢的情況。例如,某公司資料庫裡有一張存放使用者資訊的表user info,它有多個字段 userid,id,name,age,address。其中userid是表的主碼,表示使用者的使用者號,該使用者號對每個使用者都是唯一的 id表示使用者省份證號。此時要對使用者資訊進...