delphi的adoquery问题
我用AdoQuery控件连接远程数据库,SQL.add的select语句想用IN命令,即选取的字段值,想IN(listbox中的值),可是命令执行不成功,换了checkl...
我用AdoQuery控件连接远程数据库,SQL.add的select语句想用IN命令,即选取的字段值,想IN(listbox中的值),可是命令执行不成功,换了checklistbox也不行,甚至在当地建立临时表,临时表用BDE连接,还是不行,就是SQL语句写不好了,请delphi达人给与解决,奉上100分。
我如果把In(...)整个去掉,可以查找到数据,加In(...)以后,就没有数据了,但在SQL-SERVER查询分析器里,IN的内容是可以查到数据的。
我用SQL.ADD(),用SHOWMESSAGE()函数看IN里的字符串为:(''0909'',''0809'',''0810''),应该是没有错的。 展开
我如果把In(...)整个去掉,可以查找到数据,加In(...)以后,就没有数据了,但在SQL-SERVER查询分析器里,IN的内容是可以查到数据的。
我用SQL.ADD(),用SHOWMESSAGE()函数看IN里的字符串为:(''0909'',''0809'',''0810''),应该是没有错的。 展开
5个回答
展开全部
呵呵,又有人来说delphi没市场了.
delphi的没落是有原因的,这里不想多说,
delphi的爱好者是不会放弃它的,虽然它已经不属于Borland了
现在delphi的牛人还是照样能那20K的月薪,呵呵,虽然不多.....
至于lz的问题,有点看不懂,既然sql写的不对,那么连哪个库都不对.
假设lz用的 Listbox 名字叫做lb ,里面有几个值,
sql:='select * from Yourtable where field in(';
for i:=0 to lb.items.count-1 do
begin
if(i<lb.items.count-1) then
sql:=sql+''''+lb.items[i]+''','
else
sql:=sql+''''+lb.items[i]+''')'; //拼最后一个
end;
AdoQuery.sql.text:=sql;
Adoquery.open;
delphi的没落是有原因的,这里不想多说,
delphi的爱好者是不会放弃它的,虽然它已经不属于Borland了
现在delphi的牛人还是照样能那20K的月薪,呵呵,虽然不多.....
至于lz的问题,有点看不懂,既然sql写的不对,那么连哪个库都不对.
假设lz用的 Listbox 名字叫做lb ,里面有几个值,
sql:='select * from Yourtable where field in(';
for i:=0 to lb.items.count-1 do
begin
if(i<lb.items.count-1) then
sql:=sql+''''+lb.items[i]+''','
else
sql:=sql+''''+lb.items[i]+''')'; //拼最后一个
end;
AdoQuery.sql.text:=sql;
Adoquery.open;
展开全部
楼上说的没错,顶一下!
随便说一下,
DELPHI 从2005-2006-2007-2009还叫不升级,啥叫升级呢?
2010版也有beta进行测试了。
随便说一下,
DELPHI 从2005-2006-2007-2009还叫不升级,啥叫升级呢?
2010版也有beta进行测试了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我们上市公司核心研发团队都没有抛弃delphi,多人受益delphi的高薪,努力吧
呵呵..
呵呵..
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
兄弟你不容易呀,还在坚持已经不升级、淘汰了的东西.
以后你会发现,自己身边的人都不用了,市场也不需要了.
以后你会发现,自己身边的人都不用了,市场也不需要了.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
兄弟你listbox中的值先拼成SQL中in里面的字符串。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询