vb.net уменьшает код для отображения данных в текстовых полях - PullRequest
0 голосов
/ 10 марта 2011

На странице, которую я создал, у меня есть средство поиска, в котором при поиске номера доктора будут отображаться сведения о врачах, после нажатия кнопки поиска результаты отображаются в текстовых полях (я не могу использовать сетки, так как это не нужно )

образец кода, размещенного на кнопке поиска

Query statement = "SELECT DocNumber FROM tblDoctor WHERE DNum LIKE '%"
execute the query and get the result
The result is converted to string and Execute Scalar is used
DocNum.Text = Result1


Query statement = "SELECT DocName FROM tblDoctor WHERE DNum LIKE '%"
execute the query and get the result
The result is converted to string and Execute Scalar is used
DocName.Text = Result2

и т.д .... Есть еще 14 текстовых полей, в которых я тоже хочу отображать данные, поэтому большое количество повторяющихся строк кода соответствует структуре выше. Кто-нибудь может предложить лучший способ сделать это?

Другая проблема повторения кода связана с предыдущей страницей, которая связана с ним. На предыдущей странице содержится сводная информация о врачах, после щелчка по строке вы переходите на эту страницу, где отображается более подробное представление их личных данных. Выбранный номер доктора будет передан в более подробное представление с использованием строки запроса, поэтому у меня есть код

Автоматическое заполнение выбранных врачей заполнит ярлыки при загрузке страницы

Request the query string and store into variable dNum

Query statement = "SELECT DocNumber FROM tblDoctor WHERE DNum = " & dNum"
Get result from query convert to string and use execute scalar
lblDocNum.Text = Res1


Query statement = "SELECT DocNumber FROM tblDoctor WHERE DNum = " & dNum"
    Get result from query convert to string and use execute scalar
    lblDocNum.Text = Res1

и т.д ...

То, что я делаю, работает правильно, но стиль кодирования выглядит плохо. Любая помощь будет высоко ценится.

Спасибо

Ответы [ 2 ]

1 голос
/ 10 марта 2011

Почему бы не использовать DataReader или DataSet или все, что вы предпочитаете, чтобы вернуть всю запись, а затем просто перейти от столбца к столбцу и заполнить текстовые поля таким образом? Вместо того, чтобы возвращать одно значение за раз.

0 голосов
/ 10 марта 2011

Если цель меньше кода,

SELECT * FROM tblDoctor WHERE xxx 

в DataTable или DataReader, как предложил Тьямин выше.

Оттуда вы также можете поместить текстовые поля в HTML-таблицу в Repeater, который вы будете привязывать к этому датированному. Вам не нужно будет индивидуально присваивать какие-либо значения, привязка данных сделает это за вас!

Я знаю, что люди думают, что HTML-таблицы - это зло, но это самый простой способ выстроить метки, я думаю, вы тоже захотите.

Я также знаю, что предложенный мной элемент управления называется Repeater, но у вас есть только одна запись. Если вы не скажете компилятору, я не буду. :)

В некоторых частях вашего вопроса звучит так, как будто вы задаетесь вопросом, следует ли отправлять все фрагменты информации вместе в строке запроса, но это не является хорошей идеей для меня, поскольку предлагает пользователям связываться с данными. в строке запроса.

Вы не упомянули - эти текстовые поля предназначены для редактирования? Кнопка «Сохранить» внутри повторителя будет иметь легкий доступ ко всем элементам управления для создания вашего оператора обновления. Вы также можете поместить кнопку Сохранить вне повторителя и обратиться к первому пункту повторителя, чтобы найти элементы управления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...