以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 语法错误 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=148474) |
|
-- 作者:nxqtxwz -- 发布时间:2020/4/8 17:41:00 -- 语法错误 很不好意思总是麻烦老师,下面的代码运行基本正常,只是只要输入条件(不论是一个条件还是多个条件)筛选时服务器上报错:“=”号附近有语法错误,点确定后手机上能显示结果。什么条件都不输入直接按确定按钮正常。
[此贴子已经被作者于2020/4/21 21:22:21编辑过]
|
|
-- 作者:有点蓝 -- 发布时间:2020/4/9 8:37:00 -- yjbb = e.PostValues(flt) |
|
-- 作者:nxqtxwz -- 发布时间:2020/4/9 10:16:00 -- 改为
|
|
-- 作者:有点蓝 -- 发布时间:2020/4/9 10:17:00 -- 自己看看完整的sql:http://www.foxtable.com/webhelp/scr/1485.htm |
|
-- 作者:nxqtxwz -- 发布时间:2020/4/9 11:42:00 -- Dim cmd As New SQLCommand End If msgbox(2) 正常 cmd.CommandText = cmd.CommandText & ") As a " |
|
-- 作者:有点蓝 -- 发布时间:2020/4/9 12:00:00 -- Dim e As RequestEventArgs = args(0) Dim wb As New WeUI Dim flt As String = e.Cookies("yjbb") If flt = "" Then If e.PostValues.ContainsKey("product") Then flt &= "年级 = \'" & e.PostValues("product") & "\'" End If ……原来生成条件的其他代码 wb.AppendCookie("yjbb",flt) End If Dim page As Integer = 0 \'默认page为0,显示第一页 Dim pageRows As Integer = 10 \'每页10行 If e.GetValues.ContainsKey("page") Then \'如果地址中有page参数 Integer.TryParse(e.GetValues("page"), page) \'提取page参数 End If Dim StartRow As Integer = page * pageRows + 1 \'此页第一行 Dim EndRow As Integer = (page + 1) * pageRows \'此页最后一行 \'\'提取此页数据 Dim cmd As New SQLCommand cmd.C \'记得设置数据源名称 Dim yjbb As String \'定义一个变量,为excel报表传递查询条件 cmd.CommandText = "Select Count(*) From {控缀保学}" \'\'msgbox(3) If flt > "" Then cmd.CommandText = cmd.CommandText & "where" & flt End If Dim Count As Integer = cmd.ExecuteScalar() \'获取总的行数 ……
|
|
-- 作者:nxqtxwz -- 发布时间:2020/4/9 13:16:00 -- 还是老问题:
Dim e As RequestEventArgs = args(0)
Dim StartRow As Integer = page * pageRows + 1 \'此页第一行 cmd.CommandText = cmd.CommandText & "where" & flt cmd.CommandText = cmd.CommandText & ") As a " cmd.CommandText = cmd.CommandText & " Where [NO.]>= " & StartRow & " And [NO.] <= " & EndRow With wb.AddActionSheet("","menu") \'设计菜单 |
|
-- 作者:有点蓝 -- 发布时间:2020/4/9 13:54:00 -- Dim flt As String If e.Cookies.ContainsKey("yjbb") flt = e.Cookies("yjbb") End If If flt = "" Then ……
|
|
-- 作者:nxqtxwz -- 发布时间:2020/4/9 14:21:00 -- 以下是引用有点蓝在2020/4/9 13:54:00的发言:
Dim flt As String If e.Cookies.ContainsKey("yjbb")
flt = e.Cookies("yjbb") End If If flt = "" Then
…… 问题还是依然存在,仍然是老地方出错。 上面的代码会造成进不了If flt = "" Then这个条件嵌套内,因为第一次输入条件后,flt肯定不为空。 |
|
-- 作者:有点蓝 -- 发布时间:2020/4/9 14:23:00 -- flt不为空就没有必要重新生成了,直接使用即可。 上传实例测试
|