0

区切られたファイル 必要なのは、コンマ区切りのファイルから読み取り、それらから特定の行をコンボボックスに取得することです。コンボボックスは、固有の名前を表示する必要があります。探しているものの下にデータベース作業コードを追加しましたが、データベースを使用する代わりに、コンマ区切りファイルのコードが必要です。

Imports System.Data.SqlClient
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Call combo1()
    End Sub
    Sub combo1()
        Dim com As SqlConnection
        com = New SqlConnection("Server = Q-DESIGN\SQLEXPRESS; Database = Q-Design Test Results; Trusted_Connection = true;")
        com.Open()
        Dim command As SqlCommand = New SqlCommand("SELECT DISTINCT(Testname) from URL", com)
        Dim reader As SqlDataReader = command.ExecuteReader()
        While reader.Read()
            ComboBox1.Items.Add(reader.GetString(0))
        End While
        reader.Close()
        com.Dispose()
        com.Close()
    End Sub

私のコンマ区切りファイルには、egsample の次の行があります。

Jenny, 25, Female
Micheal, 100, Female
shaun, 50, male
Cindy, 75, Female
Cindy, 30, Female
Cindy, 20, Female
Micheal, 30, Female
deric, 50, Male

すべての名前を表示するには、コンボボックスが必要です。

4

2 に答える 2

0

まず、一度に 1 行ずつファイルを読み込みます。次に、正規表現を使用して、探している名前フィールドを抽出します。次に、各項目を SortedSet に追加します。

Dim strLine as String = ""
Dim RX as New Regex("^([^,]*),")
Dim MyMatch as Match
Dim NameLookup as New SortedSet(Of String)

'
' Code to read in each line into strLine using StreamReader.
'

MyMatch = RX.Match(strLine)

If MyMatch.Success AndAlso Not NameLookUp.Contains(MyMatch.Result("${1}")) Then
   NameLookup.Add(MyMatch.Result("${1}"))
End If

この後、SortedSet から ComboBox にアイテムを追加するのはかなり簡単です。

また、「名前」列を含む DataTable を手動で作成し、データ バインディングを使用してコンボボックスに自動的に入力することもできます。

于 2013-08-27T15:21:45.573 に答える