2012-03-21 15 views
0

VB.netとSQLデータベースへのrsData接続の使用に関する質問があります。VB.net - RsData /クリーンアップコード

基本的には、私の施設が運営するコースのコース情報を表示するインライン・ページがいくつかあります。コードはSQL DBに接続し、ライブデータを次の形式で直接取得します。人々は、オープンDB接続から直接引っ張っ示唆または文字列にRsData結果をマップする場合

html += "<tr><td>" & rsData("M_Start") & "</td><td>" & rsData("WEEKS") & "</td><td>" &  rsData("DAYSTIME") & "</td></tr>" 

今、私は不思議でしたか?すべてのデータ接続は、必要な部分を完了した後で開閉し、ページ内には約5種類の手順があります。

私は、このコードができるだけクリーンではなく、この継承された悪夢を整理したいと心配しています。また、インラインコードと複数のデータ接続を使ってベストプラクティスを流すことができますか?

ありがとうございます!

答えて

1

コードを一切見ずにコードをクリーンアップする方法については、完全な解決策を提供することは難しいです。データを表示するためのより良い方法は、GridViewまたはRepeaterを使用することです。

あなたは私はあなたがこのように投稿した部分をやってお勧めしたい文字列変数にHTMLを構築しようとしている場合は、:

Dim html As New Text.StringBuilder 
html.Append(String.Format("<tr><td>{0}</td><td>{1}</td><td>{2}</td></tr>", 
            rsData("M_Start"), 
            rsData("WEEKS"), 
            rsData("DAYSTIME"))) 

それはそれをより読みやすくなりますし、StringBuilderのは、パフォーマンスが向上String変数を複数回インクリメントするよりも

は、私はあなたが繰り返しを扱っているかどうかはわかりませんが、あなたは、このような何かを行うことができます(rsDataと仮定してのDataTableに所属):html.ToString

Const htmlRowFormat As String = "<tr><td>{0}</td><td>{1}</td><td>{2}</td></tr>" 

Dim html As New Text.StringBuilder 

For Each dr As DataRow In rsDataTable.Rows 
    html.Append(String.Format(htmlRowFormat, 
           rsDataTable("M_Start"), 
           rsDataTable("WEEKS"), 
           rsDataTable("DAYSTIME"))) 
Next 

はあなたのhtmlを取得するには