2

以下の productPrice を $7.99 などと表示するにはどうすればよいですか? 私は見つけることができるすべてを試しました。db テーブルで少額です。ありがとう。

Protected Sub printMenuBlock(ByVal productName As String) '製品を格納する変数を設定し、データベースからプルします Dim product = ReadProduct(productName)

    'Add necessary markup to str variable, with products information within

    For i As Integer = 0 To product.Count - 1

        str += "<div class='menuItem'>"
        'str += "    <img alt='Item Picture' class='itemPicture' src='" + product(i).ImagePath.Substring(3).Replace("\", "/") + "' />"
        str += "    <div class='itemInfo'>"
        str += "        <h1 class='itemName'>"
        str += "            " + product(i).Item("ProductName") + "</h1>"
        'str += "        <h3 class='itemDescription'>"
        str += "            " + product(i).Item("ProductDescription")
        str += "        <h1 class ='itemPrice'>"
        str += "            " + String.Format("{0:C}", product(i).Item("ProductPrice")) + "</h1>"
        str += "        "
        str += "        </div>"

        str += "    </div>"

    Next

これは相互作用クラスのコードです:

Public Class Interaction ' Sql コマンド オブジェクトの新しいインスタンス Private cmdSelect As New SqlCommand ' Connection クラスのインスタンス Private conIn As New Connection

リージョン「メニュー機能とサブ」

' Set up the SQL statement for finding a Product by ProductCat
Private Sub GetProduct(ByVal CatIn As String)
    ' SQL String

    Dim strSelect As String
    strSelect = "SELECT *  "
    strSelect &= " FROM Menu "
    'strSelect &= " WHERE ProductCat = @CatIn"
    strSelect &= "ORDER BY 'ProductCat'"
    ' Set up the connection to the datebase
    cmdSelect.Connection = conIn.Connect
    ' Add the SQL string to the connection
    cmdSelect.CommandText = strSelect
    ' Add the parameters to the connection
    cmdSelect.Parameters.Add("@CatIn", SqlDbType.NVarChar).Value = CatIn
End Sub



'Function to create list of rows and columns
Public Function ReadProduct(ByVal CatIn As String) As List(Of Dictionary(Of String, Object))
    'Declare variable to hold list
    Dim ReturnProducts As New List(Of Dictionary(Of String, Object))
    Try
        Call GetProduct(CatIn)
        Dim dbr As SqlDataReader
        ' Execute the created SQL command from GetProduct and set to the SqlDataReader object
        dbr = cmdSelect.ExecuteReader
        'Get number of columns in current row
        Dim FieldCount = dbr.FieldCount()
        Dim ColumnList As New List(Of String)
        'Loop through all columns and add to list
        For i As Integer = 0 To FieldCount - 1
            ColumnList.Add(dbr.GetName(i))
        Next
        While dbr.Read()
            'Declare variable to hold list
            Dim ReturnProduct As New Dictionary(Of String, Object)
            'Loop through all rows and add to list
            For i As Integer = 0 To FieldCount - 1
                ReturnProduct.Add(ColumnList(i), dbr.GetValue(i).ToString())
            Next
            'Add to final list
            ReturnProducts.Add(ReturnProduct)
        End While
        cmdSelect.Parameters.Clear()
        'Close connection
        dbr.Close()
    Catch ex As SqlException
        Dim strOut As String
        strOut = ex.Message
        Console.WriteLine(strOut)
    End Try
    ' Return the Product object
    Return ReturnProducts
End Function
4

1 に答える 1

3

使ってみて

+ String.Format("{0:C}", product(i).Item("ProductPrice")) +

PSこれらの種類の構造にはStringBuilderを使用することをお勧めします。

于 2013-09-04T16:14:29.763 に答える