ADO,数据库根据查询语句返回一个完整的纪录集。然后到客户端后有客户端的游标进行分页。
这样肯定是不行的。
这样肯定是不行的。
解决方案 »
- oracle 用PL/SQL怎么导入视图
- 关于PreparedStatement 的一个问题
- 在使用PL/SQL查询Oracle时,出现问题:内部错误代码,参数:[15160],[],[],[],[]:
- update问题?
- 急救:关于时间问题,怎么回事??
- 请问各位高手,在oracle中怎样实现逻辑删除
- SQL:如何从2个表中求和?
- 如何分段建立索引???
- 如何解锁?
- 高分求教:老是出现ORA-01033: ORACLE initialization or shutdown in progress怎么解决
- 急急急!!!在Orcale中GBK大字符集无法存入!!请求高手解决!!!
- 急,特急的问题!
设置系统DSN
用DW可以自动识别连接生成简单的分页程序
在浏览器中看 就没问题
我帮你顶一下。(PS: 用VB ADO + DataGrid 不行吗?)UP!
function modifyLimitQuery($query, $from, $count)
{
$this->connect();
$q_fields = "SELECT * FROM ($query) WHERE NULL = NULL";
$this->Parse=OCIParse($this->Link_ID,$q_fields);
$result=$this->Parse;
if (!OCIExecute($result)) {
$oerr = OCIError($result);
echo "Execute Code:".$oerr["code"];
if ($oerr["code"]) {
echo "Error:".$oerr["message"];
exit;
}
}
OCIFetch($result);
$ncols = OCINumCols($result);
$cols = array();
for ( $i = 1; $i <= $ncols; $i++ ) {
$cols[] = OCIColumnName($this->Parse, $i);
}
$fields = implode(', ', $cols);
$from+=1;
$start=(($from-1)*$count+1);
$fromend=$from*$count;
$fromendd=$fromend+1;
$query = "SELECT $fields FROM".
" (SELECT rownum as linenum, $fields FROM".
" ($query) WHERE ROWNUM<$fromendd) ".
" WHERE linenum BETWEEN $start AND ". ($fromend) .
"";
return $query;
}