Shared Function IsActionQuery(ByVal strQuery As String) As Boolean strQuery = RemoveComments(strQuery).ToUpper Dim blnActionsPresent = ((InStr(strQuery, "UPDATE", CompareMethod.Text) And Not InStr(strQuery, "[UPDATE]", CompareMethod.Text)) Or _ (InStr(strQuery, "INSERT", CompareMethod.Text) And Not InStr(strQuery, "[INSERT]", CompareMethod.Text)) Or _ (InStr(strQuery, "DELETE", CompareMethod.Text) And Not InStr(strQuery, "[DELETE]", CompareMethod.Text)) Or _ (InStr(strQuery, "DROP", CompareMethod.Text) And Not InStr(strQuery, "[DROP]", CompareMethod.Text)) Or _ (InStr(strQuery, "TRUNCATE", CompareMethod.Text) And Not InStr(strQuery, "[TRUNCATE]", CompareMethod.Text))) If blnActionsPresent Then Dim intSelectPos As Integer = strQuery.LastIndexOf("SELECT") Dim intDeletePos As Integer = strQuery.LastIndexOf("DELETE") Dim intUpdatePos As Integer = strQuery.LastIndexOf("UPDATE") Dim intDropPos As Integer = strQuery.LastIndexOf("DROP") Dim intTruncatePos As Integer = strQuery.LastIndexOf("TRUNCATE") Return Not (intSelectPos > intDeletePos) Or (intSelectPos > intUpdatePos) Or (intSelectPos > intDropPos) Or _ (intSelectPos > intTruncatePos) Else Return False End If End Function