ADOQry.Close;
ADOQry.SQL.Clear;
ADOQry.SQL.Add(sqlStr);
ADOQry.Open;
ADOQry.ExecSQL;
recCount := ADOQry.RecordCount;
SqlStr如果在sql查询里面,有一条记录的,为什么这里的结果却是-1???
ADOQry.SQL.Clear;
ADOQry.SQL.Add(sqlStr);
ADOQry.Open;
ADOQry.ExecSQL;
recCount := ADOQry.RecordCount;
SqlStr如果在sql查询里面,有一条记录的,为什么这里的结果却是-1???
把补丁都打了吧
还有,Open了就不用ExecSQL了
把你代码里的ExecSQL试试!
如果是 Select 语句,想返回记录集的话,只执行 Open() 就可以了。
例如:
ADOQry.Close;
ADOQry.SQL.Clear;
ADOQry.SQL.Add(sqlStr);
ADOQry.Open;
recCount := ADOQry.RecordCount;
多看看相关资料吧。
ADOQry.First;再取RecordCount就对了。
一定是当前取得的记录数目吗?我有疑问比如说:添加一个ADOConnection与一个ADOQueryADOConnection的CacheSize设为1000,其余取默认值,ADOQuery 的SQL为 Select * From Tabel1,OPEN,理论上只取1000条数据,取其RecordCount为27000,也就是说,全部记录都取回来了