以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  移动端设置数据源  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=119346)

--  作者:133198609
--  发布时间:2018/5/23 11:16:00
--  移动端设置数据源
实在搞不明白是哪里出的问题;
背景代码:

Dim cmd As New SQLCommand
cmd.C 
cmd.CommandText = "Select Count(*) Fro m {员工花名册} where "
If flt > "" Then
    cmd.CommandText = cmd.CommandText & " where " & flt
End If
Dim Count As Integer = cmd.ExecuteScalar() \'获取总的行数
cmd.CommandText = "Select * Fro m (Select Row_Number() Over(Order by 排序) As [序号], 身份证号,部门,姓名,年龄,政治面貌,岗位,现任技术职务名称,学历,人员岗位状态,人才库分类 Fro m 员工花名册 "
cmd.CommandText = cmd.CommandText & " where " & flt
cmd.CommandText = cmd.CommandText & ") As a "
cmd.CommandText = cmd.CommandText & " Where [序号] >= " & StartRow & " And [序号] <= " & EndRow 



其中: 
MessageBox.Show("flt值:" & flt & "  cmd.CommandText值:" & cmd.CommandText) 如下:

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


报错:.NET Framework 版本:2.0.50727.8784
Foxtable 版本:2018.3.3.1
错误所在事件:
详细错误信息:
关键字 \'where\' 附近有语法错误。


[此贴子已经被作者于2018/5/23 11:44:27编辑过]

--  作者:有点甜
--  发布时间:2018/5/23 11:27:00
--  

弹出窗口按下ctrl+C,拷贝sql语句到测试窗口测试,分别测试各个select语句,看哪里出问题

 

http://www.foxtable.com/webhelp/scr/1484.htm

 


--  作者:133198609
--  发布时间:2018/5/23 11:44:00
--  
单独测试sql没问题,正常



--  作者:有点甜
--  发布时间:2018/5/23 11:47:00
--  
以下是引用133198609在2018/5/23 11:44:00的发言:
单独测试sql没问题,正常


 

你最终合成的sql语句是什么?

 

如果你sql测试窗口测试没问题,那么,在事件里面执行肯定也是没问题的。


--  作者:133198609
--  发布时间:2018/5/23 11:51:00
--  
---------------------------

---------------------------
Select * Fro m (Select Row_Number() Over(Order by 排序) As [序号], 身份证号,部门,姓名,年龄,政治面貌,岗位,现任技术职务名称,学历,人员岗位状态,人才库分类 Fro m 员工花名册  where 人员岗位状态 = \'在岗\'  and 人才库分类 like \'%项目经理%\') As a  Where [序号] >= 1 And [序号] <= 20
---------------------------
确定   
---------------------------

是这样的,单独测试这个没有问题。但是在一起,就是提示 where附近有语法错误。关闭错误后还是可以继续执行。


--  作者:133198609
--  发布时间:2018/5/23 11:53:00
--  
找到了,前面多了一个where。
哎,找了一上午,不在这里问都找不出来。