2011-03-10 77 views
0

在我創建的頁面上,我有一個搜索工具,如果醫生號碼被搜索,它會調出醫生的詳細信息,一旦搜索按鈕被點擊,結果顯示在文本框(我不能使用GridView的,因爲這是不想要的)的代碼vb.net減少在文本框中顯示數據的代碼

樣品放置在搜索按鈕

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個的其他文本框,所以在上面的結構中有大量重複的代碼行。任何人都可以提出一個更好的方式來做到這一點

重複代碼的另一個問題來自鏈接到它的prev頁面。之前的頁面包含醫生詳細信息摘要,點擊該行後,您可以訪問此頁面,顯示他們個人詳細信息的更詳細視圖。選擇的醫生數量將使用查詢字符串傳遞到更詳細的視圖,以便我的代碼

選擇的醫生的自動人口將填補在頁面加載

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 

等標籤 ...

我在做什麼,但編碼風格看起來很差。任何幫助將非常感激。

謝謝

回答

1

爲什麼不使用一個DataReader或數據集或任何你喜歡從列返回全程記錄,然後簡單的舉動柱和填充文本框呀?而不是一次返回一個值。

+0

我已經使用了閱讀器方法,這似乎縮短了我原來的代碼,謝謝你的幫助。我不熟悉數據集,這就是爲什麼我沒有使用它。謝謝 – kt87 2011-03-12 23:46:12

0

如果目標是更少的代碼,

SELECT * FROM tblDoctor WHERE xxx 

成一個DataTable或DataReader的,如Thyamine建議,以上。

從那裏,你也可以把文本框放在一個Repeater中的HTML表中,你將綁定到該數據表。你不必單獨分配任何值,數據綁定會爲你做!

我知道人們認爲HTML表格是邪惡的,但它是排列標籤的最簡單方法,我假設你也會想要。

我也知道我建議的控件叫做Repeater,但你只有一個記錄。如果你不告訴編譯器,我不會。 :)

從你的問題的部分,它聽起來像你想知道是否發送查詢字符串中的所有信息的位,但這聽起來不是一個好主意,因爲它會讓用戶亂七八糟與查詢字符串中的數據。

你沒有提到 - 這些文本框是用於編輯嗎? Repeater中的Save按鈕可以輕鬆訪問所有控件來構建更新語句。您也可以將保存按鈕放在中繼器外,並參考中繼器的第一個項目來查找控件。

+0

感謝您的回覆,我的目標是減少代碼。我的功能正常,但代碼不太好。我確實接受了使用數據閱讀器的建議,因爲我不熟悉數據表。 HTML表格和中繼器的建議聽起來很不錯,但我確實瞭解它,讀者更容易遵循。我現在有我的sql語句,閱讀器項目,我只是將它們分配到表格中佈置的標籤。我正在傳遞查詢字符串中的文檔編號。我在這裏有一個編輯按鈕,但它將用戶帶到另一個有文本框進行編輯的頁面。謝謝 – kt87 2011-03-12 23:55:28

+0

我似乎有一個表的問題,我在.aspx文件中使用html命令

,,​​等,如果我在設計視圖中擴展它,它會在頂部添加不同的樣式(例如,class = style3)我從未創建的.aspx文件。這看起來很簡單,但我是否以錯誤的方式創建表?有沒有一個很好的教程可以推薦用於創建數據表?謝謝 – kt872011-03-13 00:04:17