1

多数のテキストボックスと 4 つのリストビューがあります。各リストビューには、多数のオプションが含まれています。ユーザーはテキストボックスにデータを入力し、リストビューから任意の数のオプションを選択します。次に、これらすべてがデータベースの行に挿入されます。現時点では、各リストビューから選択したすべてのオプションを収集し、それらを文字列に結合して、リストごとに 1 つの文字列を作成し、連結された文字列を挿入しています。

    'retrieve reference type 1s selected
    For i = 0 To listRef3.CheckedItems.Count - 1
        selectedRef3.Add(listRef3.CheckedItems(i).Text)
    Next
    'join array contents into one delimited string to be added to the database
    refType3 = String.Join(",", selectedRef3.ToArray())

ただし、これにより、リストビューから個々の選択を取得するのが難しくなります。後で選択に基づいて別のデータベースをフィルタリングできるようにしたいからです。

ユーザーがリストから任意の数のアイテムを選択できるように、各リストビューの選択をデータベースの特定の列に動的に追加する挿入ステートメントを作成することは可能ですか?

4

1 に答える 1

1

既存の結合ステートメントを少しだけ構築することで、必要なステートメントを作成できるはずです (チェックしたアイテムから得られるテキストは "ref1" のようなものだと思います。正しく理解できましたか?)。

Dim cols, vals, insertStatement As String

cols = String.Join(", ", selectedRef3.ToArray())
vals = "@" & String.Join(", @", selectedRef3.ToArray())

insertStatement = "insert into ListTable (" & cols & ") VALUES (" & vals & ")"

間違いがあればお詫びします。私のVBは少しさびています。

于 2012-12-13T15:43:02.420 に答える