TableAdapter で条件が可変で複数ある条件を使用したかったんだけど、

SELECT * WHERE 項目 IN (@条件1,@条件2,@条件3・・・)

抽出条件が可変(WHERE IN (・・・・))での使用は出来ない!
(ただし、自動生成されたソースをいじくれば可能)
固定でパラメータの数が決まっている必要がある。


⇒対応

' 呼び出し元

Dim type As String = "ID_01,ID_02,ID_03"

' テーブルアダプター
Private adTest As New adTest

Public Sub GetData(ByVal type As String)


Dim aryType As String() = type.split(",")
Dim adapter As New SqlClient.SqlDataAdapter
Dim dtTest As DataTable

With adTest.GetData
If aryItem.Length = 1 Then
.Parameters("@Type").value = type
Else
' パラメータの削除
.Parameters.RemoveAt("@Type")
' SQLの置き換え
       .CommandText = .CommandText.Replace("@Type","'" & String.Join("','", aryType & "'")
End If
End With

adapter.SelectCommand = adTest.GetData
adapter.Fill(DataSet)

End Sub