最近在用delphi写一个程序。使用query返回结果集,读取recordcount时总是返回-1,这个令我很恼火。在网上查找了一些资料,原来一旦在数据中使用了Blob字段,Delphi为了节省时间(因为全部读取含有blob字段的数据行数需要大量时间),所以就不返回正确的行数了。
如果想要解决这个问题,就使用如下代码。当然,如果确实含有大量的blob数据,这样做会消耗大量的时间。
1 Query.Last;
2 iCount := Query.RecordCount;
3 Query.First;
2 iCount := Query.RecordCount;
3 Query.First;