• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1808
  • Last Modified:

Missing operand before 'And' operator

  I have the following method , I am using a active filter to return the fields which are active . I am getting the following error. I wonder if you can fix the error. I will post the method , please look in to that.

Error Message : Syntax error: Missing operand before 'And' operator.
I am getting the above error at the following line in the below method.

 AlarmModification.RowFilter = FilterStr.

 Function GetAlarmSet() As DataView
        Dim AlarmConn As SqlConnection
        Dim AlarmAdapter As SqlDataAdapter
        Dim AlarmSet As New DataSet()
        Dim QueryString As String
        'Dim AlarmView As DataView
        Dim FilterStr As String = String.Empty

        QueryString = "select a.alarm_ID , a.Description, a.mode,a.active, a.regulatory_alarm, a.auto_acknowledge," & _
                        " b.UNIT_ID as unitid" & _
                        " from Alarm_Definition a,  Unit b where a.unit_Id=b.UNIT_ID "
        AlarmConn = New SqlConnection(ConfigurationManager.ConnectionStrings("CMSConnStr").ConnectionString)
            'Load Alarm record Table
            AlarmAdapter = New SqlDataAdapter(QueryString, AlarmConn)
            AlarmAdapter.Fill(AlarmSet, "AlarmDefinition")
        Catch ex As Exception
            Dim errorMsg As String = ex.Message & " :Exception Inside AlarmModification.GetAlarmSet()"
            'Check if an exception occured while logging to the database
            'Initially store the errorMsg in the CLogger property
            CLogger.LogDB = "N"
            CLogger.CustomErrorMsg = errorMsg
            If CLogger.WriteLogMsg(errorMsg, "E") Then
                CLogger.LogDB = "Y"
            End If
            Throw New Exception(errorMsg)
            If AlarmConn.State = ConnectionState.Open Then
            End If
        End Try
        'Get the Filter String
        FilterStr = FormFilterStr()
        AlarmModification = New DataView(AlarmSet.Tables("AlarmDefinition"))

        AlarmModification.RowFilter = FilterStr
        'AlarmModification.Sort = ViewState("sortField") & " " & ViewState("sortDirection")

        Return AlarmModification
    End Function


Sreekanth Nagabandi.
  • 2
  • 2
1 Solution
Guy Hengel [angelIII / a3]Billing EngineerCommented:
can you show us what the function FormFilterStr() returns?
Sreekanth_NagabandiAuthor Commented:

  The form filterString returns the following values.

Return Value captured during debugging:-   and unitid in (1,2,3,4,5,6,7,8)

I will post you the method.

''' <summary>
    ''' Method to form filter string based on the selected tree node and dropdown filters
    ''' </summary>
    ''' <returns>Filter String</returns>
    ''' <remarks></remarks>
    Protected Function FormFilterStr() As String
        Dim FilterStr As String
        Dim strFilter As String = String.Empty

        If Not MACTTree Is Nothing Then
            If Not MACTTree.SelectedNode Is Nothing Then
                strFilter = SelectTreeNode(MACTTree)
            End If
        End If
        If StrComp(ActiveFilter.SelectedValue, " ", CompareMethod.Text) = 0 Then
            'FilterStr = ACKFilter.SelectedValue
            'ElseIf StrComp(ACKFilter.SelectedValue, " ", CompareMethod.Text) = 0 Then
            FilterStr = ActiveFilter.SelectedValue
            'FilterStr = ActiveFilter.SelectedValue & " and " & ACKFilter.SelectedValue
        End If
        Session("SelectedActiveFilter") = ActiveFilter.SelectedIndex
        'Session("SelectedACKFilter") = ACKFilter.SelectedIndex
        'Adding TreeNode Filter to the Active and Acknowledge filters list
        If strFilter Is String.Empty Then
            If StrComp(FilterStr, " ", CompareMethod.Text) = 0 Then
                FilterStr = strFilter
                FilterStr += "and " & strFilter
            End If
        End If
        Session("FilterStr") = FilterStr
        Return FilterStr
    End Function



Sreekanth_NagabandiAuthor Commented:

  I appreciate your help. I have resolved the problem .


Guy Hengel [angelIII / a3]Billing EngineerCommented:
>and unitid in (1,2,3,4,5,6,7,8)
I guess you resolved it by just removing the AND keyword...

anyhow, please post your answer here, and I will PAQ the question with points refunded.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now