0
我需要嘗試和部分搜索用戶,現在,我的代碼只能根據EXACT用戶名查找結果。我怎樣才能做到這一點?SQL部分搜索用戶
我的代碼可以在下面找到,請注意我使用「@ 0」,這似乎阻止我使用%@ 0%。
Here's my code:
@{
Layout = "~/Admin/_SiteLayout.cshtml";
var db = Database.Open("MikZeRCoding2");
var userSearchQuery = "SELECT * FROM [Users] WHERE UserName = @0";
var UsernameSearch = "";
var ErrorMessage = "";
var searchString = Request.Form["search-username"];
if (IsPost) {
UsernameSearch = Request.Form["search-username"];
if (UsernameSearch.IsEmpty()) {
ErrorMessage = "You didn't search for anything.";
}
if (!UsernameSearch.IsEmpty() && db.QueryValue(userSearchQuery, UsernameSearch) == null) {
ErrorMessage = "No results for '" + searchString + "' were found...";
}
if (searchString == "bitch") {
ErrorMessage = "Bitch spotted in-front of your pc monitor.";
}
else {
}
}
}
<form method="post" action="">
<div class="input-group">
<input type="text" name="search-username" placeholder="Search for a user" class="form-control" />
<span class="input-group-btn">
<button class="btn btn-default glyphicon glyphicon-search" type="button"></button>
</span>
</div>
<input type="submit" value="Search" />
@foreach(var user in db.Query(userSearchQuery, UsernameSearch)) {
<a href="@Href("~/Admin/Accounts/User", user.UserId)"><span>[ @user.UserId ]</span> @user.UserName</a>
}
@if(!ErrorMessage.IsEmpty()) {
<div class="alert alert-danger">@ErrorMessage</div>
}
</form>
的實際工作,謝謝! !然而,不幸的是,當我這樣做,我去搜索框上的網頁,它似乎輸出每個用戶,然後當我搜索像「使用」時,它只出現「用戶」,如果你得到我的意思是:P有什麼辦法解決這個問題? – Mikkel
@ user3250722。 。 。你是說當搜索字符串爲空時,它將返回所有用戶。它應該返回什麼? –
是的,我知道,這是我愚蠢。但我一直在試圖解決這個問題,所以當頁面加載時它不會自動搜索任何內容,但我似乎無法弄清楚如何實際執行此操作。 – Mikkel