以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]We UI框架分页的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=146528)

--  作者:fivetable
--  发布时间:2020/2/25 19:56:00
--  [求助]We UI框架分页的问题
按照W e U I框架里面的数据筛选与分页教程,复制代码后修改了一下,程序能正常使用,但就是在手机端.分页筛选几页后,手机屏幕切换到其他界面操作几分钟,在切换回筛选页面,就出现空白,没法再操作,在阿里云服务器里的fox table,就提示:
关键字 \'Like\' 附近有语法错误。点确认后又提示:
未将对象引用设置到对象的实例。点确认后,就没提示
手机端重新登录网址后,操作一切正常,就是每次分页赛选几页后,手机在切换到其他界面,在切回来,云服务器里的fox table,就有错误提示.
这错误提示,没去点击确认,就无法在次登录网址.有尝试过SQL Command的"设置超时时限"没啥效果
这个要怎么解决呢?



--  作者:有点蓝
--  发布时间:2020/2/25 20:20:00
--  
说明代码有问题,把httprequest完整代码放入txt发上来看看
--  作者:fivetable
--  发布时间:2020/2/25 20:49:00
--  
麻烦蓝老师了!
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:新建文本文档 (3).txt


--  作者:有点蓝
--  发布时间:2020/2/25 21:26:00
--  
出错的时候,f条件是什么内容?
……
                f=e.Cookies("zn") & " Like \'%" & e.Cookies("shuru") & "%\' And 入库数量 Is not null"
            Else
                f=e.Cookies("zn") & " Like \'%" & e.Cookies("shuru") & "%\' And 入库数量 Is not null"
            End If
        End If
msgbox(f) ‘弹出什么内容?如果做了日志功能可以改为日志输出查看
        \'\'\'\'   获取要显示的页
        Dim page As Integer = 0 \'默认page为0,显示第一页
        Dim pageRows As Integer = 5 \'每页15行
        If e.GetValues.ContainsKey("page") Then  \'如果地址中有page参数
            Integer.TryParse(e.GetValues("page"), page) \'提取page参数
        End If
……

--  作者:有点蓝
--  发布时间:2020/2/25 21:33:00
--  
Dim f As String = "1=1 " 
If e.GetValues.ContainsKey("unfilter") Then \'如果有unfilter参数,则清除cookie
    wb.ClearCookie()
ElseIf e.PostValues.Count > 0 Then \'\'没有这句,不会刷新第二页资料.
    If e.PostValues.ContainsKey("zn") AndAlso e.PostValues.ContainsKey("shuru") Then
        f = e.PostValues("zn") & " Like \'%" & e.PostValues("shuru") & "%\' And 入库数量 Is not null"
        wb.AppendCookie("zn", e.PostValues("zn")) \'将值写入cookie中
        wb.AppendCookie("shuru", e.PostValues("shuru")) \'将值写入cookie
    \'Else如果不包含zn和shuru参数,下面几行生成的条件肯定是有问题的,所以完全没有必要使用
        \'f = e.PostValues("zn") & " Like \'%" & e.PostValues("shuru") & "%\' And 入库数量 Is not null"
        \'wb.AppendCookie("zn", e.PostValues("zn")) \'将值写入cookie中
        \'wb.AppendCookie("shuru", e.PostValues("shuru")) \'将值写入cookie
    End If
Else
    If e.Cookies.ContainsKey("zn") andalso e.Cookies.ContainsKey("shuru") Then
        f=e.Cookies("zn") & " Like \'%" & e.Cookies("shuru") & "%\' And 入库数量 Is not null"
    \'Else如果不包含zn和shuru参数,下面几行生成的条件肯定是有问题的,所以完全没有必要使用
        \'f=e.Cookies("zn") & " Like \'%" & e.Cookies("shuru") & "%\' And 入库数量 Is not null"
    End If
End If


注意Dim f As String = "1=1 " 这一句代码的1=1 

\'如果不这样设置,假如上面没有任何条件那么f为空值,之后的【cmd.CommandText = "Select Count(*) From {明细表}  Where " & f】代码生成的SQL就是这样的:Select Count(*) From {明细表}  Where,where后面没有东西,这种SQL肯定是有问题的。

改为1=1之后,如果上面没有任何条件,cmd.CommandText里的额SQL就是:Select Count(*) From {明细表}  Where 1=1,这种SQL是可以正常执行的


--  作者:fivetable
--  发布时间:2020/2/26 14:04:00
--  
看了蓝老师的提示后,在自己调试一下,最后在S Q LC om m and用上个"数据库事务",服务器就不会再提示出错了,事情完美解决.