以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]查询sql数据库系统表问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=118516)

--  作者:xndd
--  发布时间:2018/5/4 16:22:00
--  [求助]查询sql数据库系统表问题
甜版好。

我要查询系统表,做到查询sql数据库中不为空(行数不为0)的表名称,如下代码:
Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.C
cmd.CommandText = "s elect distinct object_name(id) AS tbname from {sys.sysindexes} where rows > 1"
dt = cmd.ExecuteReader()


系统提示 : 对象名 \'sys.sysindexes\' 无效。
怎么办?难道要改成获取一个表名,s elect 一个count(1) 这样吗?效率不是很低?

--  作者:xndd
--  发布时间:2018/5/4 16:30:00
--  
 已解决,我在SqlServer中新建一个存储过程,然后调用存储过程解决


--  作者:有点甜
--  发布时间:2018/5/4 16:47:00
--  
以下是引用xndd在2018/5/4 16:30:00的发言:
 已解决,我在SqlServer中新建一个存储过程,然后调用存储过程解决

 

先在sqlserver数据库的查询窗口执行sql语句,看能否得到结果,如果可以得到结果,拷贝过来foxtable自然也是可以的。


--  作者:xndd
--  发布时间:2018/5/4 16:56:00
--  
以下是引用有点甜在2018/5/4 16:47:00的发言:

 

先在sqlserver数据库的查询窗口执行sql语句,看能否得到结果,如果可以得到结果,拷贝过来foxtable自然也是可以的。


   

不行,在sql工具里面可以直接查询出来,在ft里面就是不行,只能用存储过程
--  作者:有点甜
--  发布时间:2018/5/4 17:21:00
--  
以下是引用xndd在2018/5/4 16:56:00的发言:

不行,在sql工具里面可以直接查询出来,在ft里面就是不行,只能用存储过程

 

不可能,在sql工具里面可以,在foxtable绝对也可以,请保持sql语句不变。


--  作者:xndd
--  发布时间:2018/5/4 17:36:00
--  
以下是引用有点甜在2018/5/4 17:21:00的发言:

 

不可能,在sql工具里面可以,在foxtable绝对也可以,请保持sql语句不变。

保持语句不变,sql查询分析器里就更不行了啊,比如表用 {} 括起来就会错。删掉后查询才可以
--  作者:有点甜
--  发布时间:2018/5/4 18:08:00
--  
以下是引用xndd在2018/5/4 17:36:00的发言:

保持语句不变,sql查询分析器里就更不行了啊,比如表用 {} 括起来就会错。删掉后查询才可以

 

查询分析器里面的sql语句,拷贝到foxtable里面执行。


--  作者:有点蓝
--  发布时间:2018/5/4 20:12:00
--  
可能是数据库登录用户权限不足