嗨我想創建一個搜索ListView的搜索框我設法做到這一點,它的工作原理,如果我讓它只能通過用戶名搜索。只要我用一個用戶名替換用戶名參數代碼不起作用anymore.Here是我的代碼:用於listview的搜索框不能正常工作
string searchSelectBox = SearchSelectDropDown.SelectedItem.Text;
GetAllUsersFromDb.SelectCommand =
"SELECT aspnet_Users.UserName, aspnet_Roles.RoleName, "
+ "aspnet_Membership.Email, aspnet_Membership.LastLoginDate "
+ "FROM aspnet_Users "
+ "INNER JOIN aspnet_UsersInRoles "
+ "ON aspnet_Users.UserId = aspnet_UsersInRoles.UserId "
+ "INNER JOIN aspnet_Roles "
+ "ON aspnet_UsersInRoles.RoleId = aspnet_Roles.RoleId "
+ "INNER JOIN aspnet_Membership "
+ "ON aspnet_Users.UserId = aspnet_Membership.UserId "
+ "WHERE @SelectField LiKE @Param";
GetAllUsersFromDb.SelectParameters.Clear();
GetAllUsersFromDb.SelectParameters.Add("SelectField" , searchSelectBox);
GetAllUsersFromDb.SelectParameters.Add("Param" , SearchBox.Text);
GetAllUsersFromDb.DataBind();
textListView.DataBind();
的searchSelectBox可以採取的值是用戶名,角色名和電子郵件
如果我更換用戶名@SelectField並鍵入用戶名corect該搜索的作品,但事實並非如此。
這裏有什麼問題?
當你把一個破發點中有什麼SearchSelectDropDown.SelectedItem.Text的價值?如何添加該控件中的ListItems - 硬編碼?動態添加? –
不應該是這樣的:WHERE UserName like @ Param' - 或 - WHERE UserName like @ SelectField'。您必須將數據庫中的某些內容與輸入進行比較,而不是將兩個輸入進行比較。哦,我看到'UserName'像@Param vs UserName像@Param – 2012-11-28 21:30:41
你不能使用參數作爲列名。參數僅用於數據值 –