DBクエリの「FROM」部分に続く単語を取得したい。次のコードでは、機能する場合と機能しない場合があります。テーブル名の長さに依存するようです。
Private Function GetTableName(Q As String) As String
'SELECT * FROM _table WHERE column LIKE '%test%'
Dim FROMPos As Integer = Q.ToLower.IndexOf("FROM".ToLower)
If FROMPos > -1 Then
Dim FirstSpacePos As Integer = Q.ToLower.IndexOf(Chr(32), FROMPos)
If FirstSpacePos > -1 Then
Dim EndSpacePos As Integer = Q.ToLower.IndexOf(Chr(32), FirstSpacePos + 1)
If EndSpacePos > -1 Then
'MsgBox(Q.Substring(FirstSpacePos + 1, EndSpacePos - FirstSpacePos))
Return Q.Substring(FirstSpacePos + 1, EndSpacePos - FirstSpacePos)
Else
Return ""
End If
Else
Return ""
End If
Else
Return ""
End If
End Function