以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  “12”f运算符后缺少操作数?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=128878)

--  作者:ycwk
--  发布时间:2018/12/17 12:44:00
--  “12”f运算符后缺少操作数?




Dim msg As String = e.Message
\'Dim ret As String = "!false"

If e.Message.StartsWith("%") AndAlso e.Message.EndsWith("%")     \'假定收到的信息头尾都是"%"
    msg  = msg.Trim("%")    \'去掉收到的消息中头尾的%
    Dim prefix As String = msg.SubString(0,1)
    Select Case prefix
        Case "E" \'查询        \'E表示紧急   emergent
            msg = msg.TrimStart("E","|")     \'把开头的E和|都删除
            \'msgbox(msg)
            Dim dr As DataRow = DataTables("自助报障记录表").SQLFind("_identify = \'" & CInt(msg) & "\'")
            If dr IsNot Nothing Then
               Dim str_content As String = "有新的报障消息到达" & dr("问题描述")  & "请" & dr("计算机中心责任人") & "注意及时处理!" 
               \'Functions.Execute("BroadcastToneContent","新报障信息提示音.wav",str_content)
               Audio.play("Voice\\新报障信息提示音.wav",AudioPlayMode.WaitToComplete)     \'播放提示音
               sp.Speak(str_content,DotNetSpeech.SpeechVoiceSpeakFlags.SVSFlagsAsync)         \'异步播放 报障明细内容  不能进行其它操作   


\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'下面代码是为了在下班时间给值班人员发送短信
            \'取服务器时间
            Dim cmd As New SQLCommand
            Dim d As Date
            cmd.C
            cmd.CommandText = "Select GetDate()"
            d = cmd.ExecuteScalar()

            Dim nr As DataRow= DataTables("计算机中心交班表").Find("交班时间>" & d.AddMonths(-1) ,"交班时间 Desc")     \'查找一个月以内的交班记录的第一条赋值给dr
               \'如果不在周一到周五的 8点到6点  或者    5点到5点半之间  ,则还要发送短信.
            If ( (d.dayofweek =0) Or (d.dayofweek =6) Or (d.hour=14 And d.minute<=30 )  Or  (d.hour= 12) Or (d.hour=13))  Then      \'如果在下班时间,则还要发送短信.           
                    \'查找接班人               
                    If nr("接班人") IsNot Nothing  Then    \'如果接班人不为空,发送短信
                         Dim lr As DataRow=DataTables("计算机中心人员字典").SQLFind("姓名=\'" & nr("接班人") & "\'")    \'找到计算机中心接班人的基本信息
                         Dim str_content_sms As String="有报障消息仍未处理,ID" & dr("ID") & "问题描述:" & dr("问题描述") & "报障电脑IP:" & dr("报障电脑IP") & "报障人:" & dr("报障人_姓名") & "电话:" & dr("报障人_手机")  & "请注意及时处理!"
                         Functions.Execute("智慧宜昌短信平台_手机",dr("接班人"),"计算机中心",lr("手机"),str_content_sms,"")    
                    End If  
            End If

\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'给接班人发送短信代码结束




            End If                 
        \'Case "U" \'留着区分非紧急消息
           Case Else
     End Select 
    \' e.ReturnValue = ret     \'用于向发送端返回处理后的结果,此场景下不需要
End If

--  作者:有点甜
--  发布时间:2018/12/17 15:07:00
--  

Dim dr As DataRow = DataTables("自助报障记录表").SQLFind("_identify = \'" & CInt(msg) & "\'")

 

改成

 

Dim dr As DataRow = DataTables("自助报障记录表").SQLFind("[_identify] = " & CInt(msg) & "")

 

-------------------

 

Dim nr As DataRow= DataTables("计算机中心交班表").Find("交班时间>" & d.AddMonths(-1) ,"交班时间 Desc") 

 

改成

 

Dim nr As DataRow= DataTables("计算机中心交班表").Find("交班时间>#" & d.AddMonths(-1) & "#","交班时间 Desc") 

 

------------------------------

 

加入msgbox定位出错位置 http://www.foxtable.com/webhelp/scr/1485.htm