#asp.net #sql
#asp.net #sql
Вопрос:
Я должен выполнять поиск в форме с идентификатором и именем также в asp.net,
какое условие я должен использовать, чтобы проверить, что пользователь ввел идентификатор в поле идентификатора текстового поля или текстовое поле для имени, или я должен использовать только 1 текстовое поле для поиска по идентификатору и имени..
я использую sql server 2005 для хранения записей.
спасибо
Комментарии:
1. Вы могли бы проверить . длина, но вы также можете выполнить поиск как в 1 текстовом поле, так и в том, что вы хотите, я полагаю, но если идентификаторы всегда числовые, а имена нет, это может быть хорошим способом.
Ответ №1:
На вашем ASP.Net страницу, вы можете использовать RequiredFieldValidator
, чтобы убедиться, что пользователь что-то ввел в текстовое поле.
<asp:RequiredFieldValidator id="RequiredFieldValidator1" runat="server" ErrorMessage="Please enter your user name." ControlToValidate="UserNameTextBox" Display="Dynamic" />
Я бы использовал одно текстовое поле и позволил пользователю ввести либо свое имя пользователя, либо идентификатор.
Затем вы пишете запрос к базе данных в SELECT COUNT(*) FROM Users WHERE (UserName = @UserName) OR (UserID = @UserID)
. Что-то в этом роде. Если COUNT
равно нулю, совпадения не было. Если COUNT
больше нуля, у вас есть совпадение.
Комментарии:
1. Не знаю о StoredProc операционной системы, но @UserName и @userId ссылаются на одно и то же значение, и поэтому оно должно быть общим, как @searchValue .
2. как насчет использования всплывающего окна на кнопке поиска? как это использовать ..?
Ответ №2:
Используйте поле со списком с двумя значениями: ID, Name
Затем, когда пользователь вводит текстовое поле, вы можете проверить значение, выбранное в выпадающем списке, чтобы узнать, выполняет ли он поиск по идентификатору или имени