Foxtable(狐表)用户栏目专家坐堂 → sel ect组合条件统计Count报错 语法错误?


  共有3570人关注过本帖树形打印复制链接

主题:sel ect组合条件统计Count报错 语法错误?

帅哥哟,离线,有人找我吗?
cnsjroom
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
sel ect组合条件统计Count报错 语法错误?  发帖心情 Post By:2021/2/1 17:29:00 [显示全部帖子]

sel ect组合条件统计Count报错  语法错误?


图片点击可在新窗口打开查看此主题相关图片如下:111.png
图片点击可在新窗口打开查看

红色部分报错  得到的数据为零

图片点击可在新窗口打开查看此主题相关图片如下:222.png
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:求助代码.txt


[此贴子已经被作者于2021/2/1 17:32:27编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
cnsjroom
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)cmd.CommAndText = "Select Count(*)...  发帖心情 Post By:2021/2/1 18:06:00 [显示全部帖子]

改成如下就可以弹出正确的语句,也会弹出语句,但是会提示  错误:
cmd.CommandText = "Sele ct Count(*) From {user} where " & flt
错误所在事件:
详细错误信息:
关键字 'Where' 附近有语法错误。
同样还会导致没有上一页下一页  麻烦老师看看是不是我的使用方法不对?
[此贴子已经被作者于2021/2/1 18:12:50编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
cnsjroom
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)msgbox(cmd.CommAndText) 弹出什么sq...  发帖心情 Post By:2021/2/1 20:43:00 [显示全部帖子]

图片点击可在新窗口打开查看会弹出这个图示内容
但是错误如楼上 提示报错

cmd.CommandText = "Sele ct Count(*) From {user} where " & flt""""
如果加上后面四个引号
上面的弹出提示 末尾会多一个”

[此贴子已经被作者于2021/2/1 20:46:33编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
cnsjroom
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)弹出这个图示内容肯定没有问题,检查...  发帖心情 Post By:2021/2/1 21:42:00 [显示全部帖子]

其它SQL语句都测试了 没有问题


.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2020.5.29.8
错误所在事件:
详细错误信息:
关键字 'Where' 附近有语法错误。

.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2020.5.29.8
错误所在事件:自定义函数,getdangyuanlist
详细错误信息:
调用的目标发生了异常。
未将对象引用设置到对象的实例。

[此贴子已经被作者于2021/2/1 22:41:29编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
cnsjroom
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)不需要加四个引号,多此一举  发帖心情 Post By:2021/2/1 22:41:00 [显示全部帖子]

不会意思  发错误了   
这个是没有四个引号的
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:新建文本文档.txt

每个sql语句单独弹出都是正确的
但是错入如楼上一样 

 回到顶部
帅哥哟,离线,有人找我吗?
cnsjroom
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)If flt > "" Then    c...  发帖心情 Post By:2021/2/1 23:25:00 [显示全部帖子]

去掉了不报错  但是无法获得准确的count了 永远只有1
但是页面显示的数据大于1  且大于10时 没有下一页 上一页对应功能
麻烦老师看看 是不是代码哪里顺序弄错了还是写错了

 回到顶部
帅哥哟,离线,有人找我吗?
cnsjroom
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)这个代码count永远只有1?说明符合条...  发帖心情 Post By:2021/2/2 10:12:00 [显示全部帖子]

提示是1,但是实际生成的数据却是所有的符合筛选条件的数据!且已经找到的数据并没有生成上一页下一页
Dim pageRows As Integer = 10 '每页10行  如果将10改成100 则可以显示所有的数据 
附上例子 麻烦老师看看  谢谢!

以下内容是专门发给有点蓝浏览






 回到顶部
帅哥哟,离线,有人找我吗?
cnsjroom
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)没看到有12楼的代码,数量要单独获取...  发帖心情 Post By:2021/2/2 10:36:00 [显示全部帖子]

Dim cmd As New SQLC ommand
cmd.Connectio nName = "智慧党建" '记得设置数据源名称

Dim cmd11 As New S QLCommand
cmd11.Connecti '记得设置数据源名称

If flt > "" Then
    cmd.CommandText = "Se lect * From (Sel ect Row_Number() Over(Order by _Identify) As [NO.],[_Identify],姓名,支部名称 as 所属支部,联系电话  From 党员信息 where " & flt & ") As a "
'cmd11.CommandText = "Sel ect Count(*) From {党员信息} where " & flt
'msgbox(cmd11.CommAndText) 

Else
    cmd.CommandText = "Sel ect * From (Sel ect Row_Number() Over(Order by _Identify) As [NO.],[_Identify],姓名,支部名称 as 所属支部,联系电话  From 党员信息) As a "
End If

Dim Count As Integer = cmd11.Exe cuteScalar() '获取总的行数
MessageBox.Show(count)


12楼的代码在这个区域   不知道是不是放错位置了   还是逻辑错误  显示下一页不够完整  不能返回上一页  
[此贴子已经被作者于2021/2/2 10:39:39编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
cnsjroom
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)有时间瞎折腾不如多看看帮助是怎么样...  发帖心情 Post By:2021/2/2 11:00:00 [显示全部帖子]

Dim cmd As New S QLCommand
cmd.Connectio nName = "智慧党建" '记得设置数据源名称
cmd.Comman dText = "Sele ct Count(*) From {党员信息}"
'msgbox(cmd.CommAndText) 
Dim Count As Integer = cmd.ExecuteScalar() '获取总的行数
Dim Pages As Integer = Math.Ceiling(Count/PageRows) '计算出总页数
'MessageBox.Show(count)
If flt > "" Then
    cmd.CommandText = "Sele ct * From (Se lect Row_Number() Over(Order by _Identify) As [NO.],[_Identify],姓名,支部名称 as 所属支部,联系电话  From 党员信息 where " & flt & ") As a "
Else
    cmd.CommandText = "Sel ect * From (Sel ect Row_Number() Over(Order by _Identify) As [NO.],[_Identify],姓名,支部名称 as 所属支部,联系电话  From 党员信息) As a "
End If
cmd.CommandText = cmd.CommandText & "  Where [NO.]>= " & StartRow & " And [NO.] <= " & EndRow
Dim dt As DataTable = cmd.ExecuteReader

将代码与帮助文件比对  设置成如上之后    是会有显示上一页下一页  但是所获取得到的数据依旧是全部数据  而不是筛选得到的数据   比如预备党员只有四名  页面会显示“下一页”  点击会显示所有的党员名单 而不是只有预备党员四人信息

此主题相关图片如下:12121.gif
按此在新窗口浏览图片
麻烦老师继续指导一下  谢谢!

这个也是为什么我一定想按照 下面的写法获取总数的原因
Dim cmd As New SQ LCommand
cmd.Connec ti '记得设置数据源名称
cmd.CommAndText = "Select Count(*) From {user} where " & flt
代码写成这样之后   低于10行一下就没有再显示  下一页了   但是当大于行时  提示where附近语法错误

此主题相关图片如下:12121.gif
按此在新窗口浏览图片



[此贴子已经被作者于2021/2/2 11:08:25编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
cnsjroom
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
  发帖心情 Post By:2021/2/2 11:27:00 [显示全部帖子]

cmd.CommandText = "Sel ect Count(*) From {党员信息} "
运行效果:

图片点击可在新窗口打开查看此主题相关图片如下:12121.gif
图片点击可在新窗口打开查看

cmd.CommandText = "Sel ect Count(*) From {党员信息}  where " & flt
运行效果

图片点击可在新窗口打开查看此主题相关图片如下:12121.gif
图片点击可在新窗口打开查看

当前参照老师给的连接 已经全部修正了  但是还是不行    会提示where错误   
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:求助代码.txt


[此贴子已经被作者于2021/2/2 11:28:06编辑过]

 回到顶部
总数 14 1 2 下一页