All pastes #280033 Raw Edit

Miscellany

public text v1 · immutable
·published 2006-12-15 16:02 UTC
rendered paste body
   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