sql可以查出数据,但放在程序中,查出来数据为0?(100)

  • 主题发起人 主题发起人 cb1997
  • 开始时间 开始时间
C

cb1997

Unregistered / Unconfirmed
GUEST, unregistred user!
sql可以查出数据,但放在程序中,取查询结构查出来数据条数为0什么原因呢?
 
查查你的代码。
 
代码没问题我用个文本框,程序运行时候将要用到的sql语句写到文本框里把文本框里 的语句复制到sql下运行都有数据,但是程序运行提取adoquery1.RecordCount结果却是0条
 
adoquery1.RecordCount=0正常.
 
你放个grid吧,什么都清楚了~
 
到后台去跟踪你执行的语句.!看看执行的是什么.
 
这个 。。 要相信Delphi的实力 它是不会出现这种小毛病的 还是仔细检查一下你的代码吧 看看是不是QUERY名不一致 或是 连接字符串是不是连到别的库上了 我以前也碰到过这样的问题 查了好久也不知道怎么回事 当时人都差点疯掉了 结果查了一天 最后发现原来是数据库连错了 结果我当时气的就真疯了
 
1 把连接信息也show 出来,看是否连接错数据库了.2 把代码也贴出来,看是否代码出错了.3 如你目前所说,根本不可能出现这样的情况.
 
数据库连错
 
adoquery1.Close; adoquery1.SQL.Clear; adoquery1.SQL.Text := 'Select Distinct XX.diqudaima as diqudaima_N,YY.desc1 ' + ' From ( Select aa.company,substr(aa.area_code,1,11) As diqudaima,aa.period_year,aa.period_month,aa.product_code, aa.cv_code,aa.cm250,aa.cm210,bb.distance,cc.short_name ' + ' From (select company,area_code,period_year,period_month,product_code, cv_code,cm250,cm210 ' + ' from cm_dtl Where period_year = '+ nian_lirun +' and Period_month='+yue_lirun+' ) aa ,CUSTOMER_INF bb,ss_user_pz_3 cc' + ' Where aa.cv_code=bb.customer_code And aa.product_code=cc.pzbh ) XX,general_desc YY ' + ' Where XX.diqudaima=YY.gdcode Order By XX.diqudaima '; edit1.Text:= adoquery1.SQL.Text; adoquery1.Open; showmessage(inttostr(adoquery1.RecordCount));我用文本框将sql语句取出,在sql下运行都有数据,但showmessage(inttostr(adoquery1.RecordCount));就为0
 
确定ADOQUERY1的数据库没连错吗?
 
数据库确定没连错的!
 
1、放个dbgrid,看看实际得到多少条记录。2、什么数据库??3、看看adoquery的属性设置,是不是默认的,是不是那个属性改的不正确了。
 
是不是由于引号引起的?有些字段的类型必须用引号引起来才可以,不然查询出来没有效果的,我之前遇到过类似问题,就是这个原因。特别是整形和字符串型在赋值时的区别。
 
是不是由于引号引起的?有些字段的类型必须用引号引起来才可以,不然查询出来没有效果的,我之前遇到过类似问题,就是这个原因。特别是整形和字符串型在赋值时的区别。============================================================================很有可能。。。
 
如果你的 操作系统 或 Delphi 没有什么问题那就肯定是你的代码问题,我可以肯定、确定以及一定,所以结贴吧,不要继续这个无聊的话题了,仔细检查代码才是正理!!!
 
showmessage(inttostr(adoquery1.RecordCount))查能有错了
 
adoquery1.Open;adoquery1.first;showmessage(inttostr(adoquery1.RecordCount));
 
后退
顶部