我写了一个
select a.HOTELID,b.name,a.CHECKTYPE,a.CHECKWAY,a.CONTACTMAN,a.CONTACTDEPT,a.CONTACTPHONE,a.CONTACTTIME ,a.CONTACTEMAIL,a.FERIALFAX,a.FERIALFAXTYPE,TO_CHAR(a.FERIALEARLYFAXTIME,'HH24:MI:SS') FERIALEARLYFAXTIME,TO_CHAR(a.FERIALLASTFAXTIME,'HH24:MI:SS') FERIALLASTFAXTIME,a.FERIALINCLWEEKEND,a.HOLIDAYFAX,a.HOLIDAYFAXTYPE,TO_CHAR(a.HOLIDAYEARLYFAXTIME,'HH24:MI:SS') HOLIDAYEARLYFAXTIME,TO_CHAR(a.HOLIDAYLASTFAXTIME,'HH24:MI:SS') HOLIDAYLASTFAXTIME,c.name cityname from htl_i_checklivein a, htl_i_hotelinfo b, htl_b_city c where a.hotelid = b.hotelid and b.cityid = c.id and b.name = '111'
在sqlplus中执行是取得了一行数据,可以在程序中
if adoQ.RecordCount >0 then
begin
//
end 为什么RecordCount总是取得0呢,实际上我已取到一行数据呀
else
//
select a.HOTELID,b.name,a.CHECKTYPE,a.CHECKWAY,a.CONTACTMAN,a.CONTACTDEPT,a.CONTACTPHONE,a.CONTACTTIME ,a.CONTACTEMAIL,a.FERIALFAX,a.FERIALFAXTYPE,TO_CHAR(a.FERIALEARLYFAXTIME,'HH24:MI:SS') FERIALEARLYFAXTIME,TO_CHAR(a.FERIALLASTFAXTIME,'HH24:MI:SS') FERIALLASTFAXTIME,a.FERIALINCLWEEKEND,a.HOLIDAYFAX,a.HOLIDAYFAXTYPE,TO_CHAR(a.HOLIDAYEARLYFAXTIME,'HH24:MI:SS') HOLIDAYEARLYFAXTIME,TO_CHAR(a.HOLIDAYLASTFAXTIME,'HH24:MI:SS') HOLIDAYLASTFAXTIME,c.name cityname from htl_i_checklivein a, htl_i_hotelinfo b, htl_b_city c where a.hotelid = b.hotelid and b.cityid = c.id and b.name = '111'
在sqlplus中执行是取得了一行数据,可以在程序中
if adoQ.RecordCount >0 then
begin
//
end 为什么RecordCount总是取得0呢,实际上我已取到一行数据呀
else
//
解决方案 »
- 请问这是什么原因呢?急!!!!!!!!!!
- 怎样实现DBGrid中单行数据的各列以不同颜色显示????求教[[高手]]指导!或者有无类似控件可实现?
- 组件开发的一个小小问题,高分相求,UP有分!
- Delphi7中怎么没有Tserversockt和Tclientsocket?怎样安装这些组件?
- 关于错误的问题:
- delphi与usb连接
- Delphi 中 DBNavigator1 的问题
- 怎么判断服务端是否断开,又自动连接另一台Socket服务器?我用(TServerSocket/TClientSocket)
- string[xxx]太小,widestring不定长,我要一个2000字节左右定长的字符数据类型,该用什么呢?
- 小弟不行,大家快来指点,如何用C++BUILDER5中创建DLL,并在DELHI5中调用??????
- 如何将一个窗体置于PageControl中的任意一TabSheet ?
- 有没有云南的朋友,帮大哥我找个兼职工作,干公务员10多年,快成废人了
例如:
ShowMessage(IntToStr(self.ADOQuery1.RecNo));
显示你当前行号。
if adoQ.RecordCount >0 then
begin
//
end 为什么RecordCount总是取得0呢,实际上我已取到一行数据呀
else既然recordcount等于0,自然代表没有返回结果。。在sqlplus中可以返回,那说明你的sql语句没问题,问题可能在于你使用delphi的时候,参数没有赋值正确,例如这里b.name = '111'
procedure dosql(str : String ; Query: TADOQuery; Status : smallint);
begin
Query.Connection :=dmHOTL0001M.dbHotel;
with query do
begin
close;
SQL.Clear;
SQL.Add(str);
Active := true;
case status of
0:
begin
try
open;
except
showMessage('执行SQL失败,失败的SQL为:'+str);
end;
end;
1:
begin
try
execSql;
except
ShowMessage('执行SQL失败,失败的SQL为:'+str);
end;
end;
end;
end;
end;
还有最好你加一个datasource和dagrid两个组件,可以看到结果集。