“Capability not supported” 该如何解决?

wf2091139 2005-10-15 11:29:24
SQL语句运行就提示“Capability not supported”。
但是用ShowMessage(...) 显示出来查询语句并不是很长啊,而且,比这长度长3、4倍的语句也一样
正确执行。不知道为什么??怎么解决???

上面ShowMessage(...) 的显示结果我把它照样子全写到查询分析器中也一样正确运行
源码如下:
/*
select (select Count(*) from Y2BXXETFO where id <= a.id and ( 全宗号 = 'b' or 全宗号 = 'd'))序号,a.* From Y2BXXETFO as a where ( 全宗号 = 'b' or 全宗号 = 'd') order by id
*/

当把 上面的 “a.*” 改成 “*”是出现下列错误
/*
Invalid use of keyword
Toke:*
Line Number:1
*/
db->Connected = true;
try
{
qry->DatabaseName = db->DatabaseName;
qry->Close();
qry->SQL->Clear();
// qry->SQL->Add("Select * from da_objects"); //用这句测试连接正确
qry->SQL->Add("select (select Count(*) from Y2BXXETFO where id <= a.id and ( 全宗号 = 'b' or 全宗号 = 'd'))序号,* From Y2BXXETFO as a where ( 全宗号 = 'b' or 全宗号 = 'd') order by id");
qry->Open();
}
catch(Exception &e){ShowMessage(e.Message);}


//其中 TQuery *qry; TDatabase *db;
...全文
1708 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
CACACACACA 2005-10-19
  • 打赏
  • 举报
回复
BDE支持有限的SQL语句。
xibingwuqing 2005-10-19
  • 打赏
  • 举报
回复
刚刚发现一个问题:这里打开你的工程,找不到databasename,dbgrid的datasource的dataset的active会自动变为false,所以设好databasename和sql以后再把active设为true,这里如此,你那里也应如此

如果dbgrid里显示有记录,并且recno为-1的话,可能是其它的问题了,比如需要重装BCB
wf2091139 2005-10-19
  • 打赏
  • 举报
回复
to : xibingwuqing(惜冰无情)

邮件收到了,不过我测试的结果还是-1。
xibingwuqing 2005-10-18
  • 打赏
  • 举报
回复
“Capability not supported”好像不是SQL语句过长的原因,偶用paradox经常出现这样的提示,因为paradox许多嵌套语句不支持,改改SQL就好了
xibingwuqing 2005-10-18
  • 打赏
  • 举报
回复
如果要生成唯一序号,这个也可以
GUID guid;
CoCreateGuid(&guid);
return guid.Data1;
这里显示CoCreateGuid未定义,没法试了
wf2091139 2005-10-18
  • 打赏
  • 举报
回复
to: dm1cyg(从头再来)

说清楚点吧,你说的那个什么live 是指requestlive?这个值一直都是true啊。
表原来已经有索引了
xibingwuqing 2005-10-18
  • 打赏
  • 举报
回复
邮件收到了吗
wf2091139 2005-10-18
  • 打赏
  • 举报
回复
requestlive = false 的时候好象是可以实现,
可是查询结果显示在DBGrid中的时候,必须的是可写才可以!
dm1cyg 2005-10-17
  • 打赏
  • 举报
回复
你把表加个索引就好了,我记的有个什么live=true;也可以的了
wf2091139 2005-10-17
  • 打赏
  • 举报
回复
UP
wf2091139 2005-10-15
  • 打赏
  • 举报
回复
顶!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Sumel 2005-10-15
  • 打赏
  • 举报
回复
帮你顶!!!!!!!
wf2091139 2005-10-15
  • 打赏
  • 举报
回复
自己顶!自己顶!自己顶!自己顶!
Sumel 2005-10-15
  • 打赏
  • 举报
回复
关注中。。。。。
wf2091139 2005-10-15
  • 打赏
  • 举报
回复
极度郁闷啊!

select (select Count(*) from Y2BXXETFO where id <= a.id and ( 全宗号 = 'b' or 全宗号 = 'd'))序号,a.* From Y2BXXETFO as a where ( 全宗号 = 'b' or 全宗号 = 'd') order by id


这么一个直接、明了的 SQL 查询语句,在TADOQuery 中都可以显示,而TQuery 却又不行!!

这是为什么啊!!!???

Sumel 2005-10-15
  • 打赏
  • 举报
回复
UP
wf2091139 2005-10-15
  • 打赏
  • 举报
回复
up!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

1,178

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 数据库及相关技术
社区管理员
  • 数据库及相关技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧