2009/10/05(Mon) 09:51:46 編集(投稿者)
2009/10/05(Mon) 09:50:53 編集(投稿者)
SQLインジェクション対策のためにも、パラメーターを使用したコーディングを行ったほうがいいと思う。
(まあ、そんな危険性がなければ別にやる必要はないが)
Jittaさんがおっしゃっている2番目の「…Lengthで〜」というのをコードにすると
AccessDataSource1.SelectParameters.Clear()
AccessDataSource1.SelectCommand = "SELECT [ID], [namae] FROM [MeiboTable]"
Dim wa As String = " WHERE "
Dim SplitKeyWords As String() = Me.TextBox1.Text.Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries) ' 全角と半角のスペース
For i As Integer = 0 To SplitKeyWords.Length - 1
AccessDataSource1.SelectCommand &= wa & "namae LIKE @KeyWord" & i
AccessDataSource1.SelectParameters.Add("KeyWord" & i, "%" & SplitKeyWords(i) & "%")
wa = " AND "
Next
こんな感じになる。