1

現在、SQL を使用してデータベースにアクセスし、ドロップダウンに入力しています。

Dim sqlStatement = "SELECT DISTINCT IMLOCN FROM table order by IMLOCN desc"
    LocationDropDown.DataSource = DB.sql(dbSalesWeb, sqlStatement)
    LocationDropDown.DataTextField = "IMLOCN"
    LocationDropDown.DataBind()
    LocationDropDown.Items.Insert(0, "ALL")

DB はカスタム クラスであり、sql は Datatable を返します。既に IMLOCN を持つデータテーブルで linq を使用したい

 Protected Sub updateDropDowns(ByVal dt As DataTable)


    Dim location = From u In dt.Rows _
                        Select u("IMLOCN") _
                        Distinct

    LocationDropDown.DataSource = location.ToList
    LocationDropDown.DataBind()

End Sub

私は試し dt.AsEnumerable() てみましDim location = From u In dt.AsEnumerable _ Select u.Field(Of String)("IMLOCN") _ Distinct たが、linq を使用できるようになりたいです。それについてもっと知りたいです。

4

1 に答える 1

3

どのようなエラーが発生するかはわかりませんが、次のクエリは正常に機能するはずです。

Dim qLocation = (From u In dt.AsEnumerable() _
                Select u.Field(Of String)("IMLOCN")).Distinct()
LocationDropDown.DataSource = qLocation.ToList()
LocationDropDown.DataBind()
于 2013-02-01T01:24:25.170 に答える